在阅读代码的时候,经常碰到 #ifdef xxx 这样的东西,比如下面是我在Visual Studio中阅读代码时碰到的 #ifdef WIN32,当我在它上面按下F12寻找声明的时候,去提示不在源代码文件中,这可是咋回事呢?
经过查找资料,发现了如下事实:
在项目上右击,选择“属性” --> “配置属性” --> “C/C++” --> “预处理器” --> “预处理器定义”,即可看到WIN32这个宏,注意,不是 “_WIN32”, "_WIN32"是VS自带的宏。
顺便说明一下,在上图中的“预处理器定义”中设置宏的名称,与在代码的最开始写上 #define xxx效果是一样的。下面是一段简单的测试代码:
#include <stdlib.h>
#include <stdio.h>
#define ABC
int main()
{
#ifdef ABC
printf("Hello\n");
#else
printf("World\n");
#endif
system("pause");
return 0;
}