C++ #define预处理器

aki*_*kif 5 c++ visual-studio c-preprocessor

我需要知道C++中的#define指令是否声明了全局标签?全球我的意思是在每个文件中都可见?

我正在使用Visual Studio 2008,(猜测是否重要)

Pie*_*ter 9

不,只在当前的翻译单位.

即每个拥有#define或包含文件的文件#define都会看到定义.

编辑,响应你的评论:在每个文件中获取一个定义,或者将它放在一个包含在任何地方的标题中,或者使用一些编译器选项来添加定义.

例如,对于gcc,人们会这样做

gcc -Dthedefine=itsvalue
Run Code Online (Sandbox Code Playgroud)

不确定如何在VC++中指定这样的包含,但我确信它可能以某种方式.

  • 请参阅我的repsonse了解两个Visual Studio解决方案(项目范围/解决方案范围) (3认同)
  • #include"Global.h"在每个文件中. (2认同)
  • 您可以在项目设置中添加#define值 (2认同)