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

Pro*_*mer 1 c scope c-preprocessor

我试图在同一个项目中的另一个C源文件中使用我在main.c中声明的预处理器变量,但是我得到一个编译时错误,包含在main.c:undefined symbol'myymbol'中.现在,关于使用#define包含它的文件的外侧规则是什么?

cni*_*tar 9

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

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

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