我正在
Linux(GCC 4.4.2)和Windows VS C Express Edition 2008下编译
我目前正在Windows XP Pro 32位下编译,并已将其添加到我的源代码中.
#if defined( WIN32 ) /* Do windows stuff here */ #endif
但是,if语句中的代码被禁用(变灰).但是,如果我执行以下操作:
#if defined( _MSC_VER ) /* Do windows stuff here */ #endif
if语句代码已启用.
我只是想知道,我应该使用什么.我见过许多程序员使用WIN32.但是,似乎对我没用.我应该使用_MSC_VER吗?
非常感谢任何建议,
没有WIN32.如果您已经看到它在其他地方使用过,那么它或者是错误的,或者代码是在某处明确定义宏本身.
你想要_WIN32.有关Microsoft编译器中预定义宏的列表,请参阅http://msdn.microsoft.com/en-us/library/b0084kay(VS.80).aspx.