读书人

#define的用法有关问题

发布时间: 2012-05-20 16:03:12 作者: rapoo

#define的用法问题

C/C++ code
#ifdef _MSC_VERclass time24;time24 operator+ (const time24& lhs, const time24& rhs);time24 operator+ (const time24& lhs, int min);time24 operator+ (int min,    const time24& rhs);time24 operator- (const time24& lhs, const time24& rhs);bool operator== (const time24& lhs, const time24& rhs);bool operator<  (const time24& lhs, const time24& rhs);istream& operator>> (istream& istr, time24 &r);ostream& operator<< (ostream& ostr, const time24& r);#endif    // _MSC_VER


代码如上。请问“#ifdef”和“#endif”的作用是什么呢?如果我写这个类,就会把这两个去掉。谢谢,呵呵!

[解决办法]
当定义了_MSC_VER时编译“#ifdef”和“#endif”之间的代码。
_MSC_VER 定义编译器的版本。在程序中加入_MSC_VER宏可以根据编译器版本让编译器选择性地编译一段程序。
[解决办法]
没用VS2010玩过C++
唉…爱莫能助了
[解决办法]
探讨

引用:

其实ifdef和endif是预编译指令。在编译前写入到配置文件内就可以生效了。
vs2010的不太清楚,但是vs2008的是这样配置的:项目-->属性--->配置属性--->c/c++--->预处理器----->预处理器定义,把你需要定义的宏写入里面


谢谢啦!如果我把“_MSC_VER”写上,就编译ifdef和endif中间的语句了吧。

读书人网 >C++

热点推荐