VS 2005符号映射在#ifdef的情况下不起作用

时间:2012-12-06 08:00:42

标签: visual-studio

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

E.g。

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的定义,我就不能。

0 个答案:

没有答案