AFAIK,符號可用於防止多重解析。如果兩個A.H和b.h包括c.h,一個C++符號的範圍
#ifndef C_H
#define C_H
...
// c.h definition would go here
...
#endif
將阻止c.h被「解析的」(我認爲這是不正確的字)一次以上。
不過,我已經看到過類似
#ifdef WIN32
...
在別人的代碼。該符號必須已被定義在其他地方,因爲搜索
#define WIN32
在整個項目中返回空白。我的問題是:這些符號實際上定義在哪裏?操作系統是否保持類似於不同程序可用於查詢操作系統或其他進程屬性的符號池?
可以從命令行設置/ ide選項設置預處理器定義。在VS中,查看「C/C++ - >預處理器」。 –