#define'd变量的范围是什么?

时间:2011-08-01 19:59:39

标签: c scope c-preprocessor

我正在尝试使用我在main.c中在同一项目中的另一个 C 源文件中声明的预处理器变量,但是我得到了一个编译时错误,包含在main.c:undefined symbol' mysymbol”。现在,有关使用#define在其所在文件中使用的规则是什么?

2 个答案:

答案 0 :(得分:9)

  

现在,有关使用#define的规则是什么?   包含它的文件

#define在其文件外部不可见。使其在定义文件之外可见的唯一方法是包含该文件。

所以看起来你应该将它放在main.c和其他文件包含的标题中。

答案 1 :(得分:3)

您需要将#define放在标题中,并将#include放在要引用它的所有文件中。