1

IDEとしてVS2005を使用しています。私のソースコードのほとんどはプリプロセッサ#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