#definexxx后面啥都不跟是什么意思

it2025-01-29  17

在阅读代码的时候,经常碰到 #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; }

 

最新回复(0)