1

我使用 VS 2005 作为我的 IDE。我的大部分源代码都使用预处理器#ifdef。所有控制#ifdef 的宏定义都存在于头文件中。Visual Studio 在#ifdef 下显示灰色的代码。虽然定义宏的头文件包含在源文件中。这很烦人,因为 Visual Studio 也不会为它看不到的代码创建符号映射。因此,为了查找符号的定义,我需要手动检查它。我已将包含宏定义的头文件添加到项目中。我的包含目录也包含此文件的位置。有人能告诉我为什么 VS 不能识别宏定义吗?

例如

File source.c

#include "defines.h"

#ifdef MY_DEFINE
int my_global = 0;
 void foo(void)
 {
   printf("I am here");
 }
#endif

File defines.h

#define MY_DEFINE

VS 会将#ifdef 下的所有代码显示为灰色。如果我想从其他文件中检查 my_global 的定义,我不能。

4

0 回答 0