我有点混淆了#define语句.在图书馆中,它们似乎是跨不同
文件进行沟通的手段,拥有很多#ifdefs和#ifndefs.
话虽如此,我现在有两个文件file1.c和file2.c编译在一起,#define TEST 10在file2.c中.然而,当我在file2.c中使用TEST时,编译器会提供以下错误消息:
'TEST' undeclared (first use in this function)
#define伪指令是否全球化?
#define不是全局的,它们只是一个替代,它曾经被使用过(如果在相同的编译单元中声明)
它们不是全局变量,它们不是符号,它们在链接上是无关紧要的,它们只与预编译有关.