C:#define指令是否全球化?
发布时间:2020-12-16 03:12:08 所属栏目:百科 来源:网络整理
导读:我有点混淆了#define语句.在图书馆中,它们似乎是跨不同文件进行沟通的手段,拥有很多#ifdefs和#ifndefs. 话虽如此,我现在有两个文件file1.c和file2.c编译在一起,#define TEST 10在file2.c中.然而,当我在file2.c中使用TEST时,编译器会提供以下错误消息: 'TEST
我有点混淆了#define语句.在图书馆中,它们似乎是跨不同文件进行沟通的手段,拥有很多#ifdefs和#ifndefs.
话虽如此,我现在有两个文件file1.c和file2.c编译在一起,#define TEST 10在file2.c中.然而,当我在file2.c中使用TEST时,编译器会提供以下错误消息: 'TEST' undeclared (first use in this function) #define伪指令是否全球化? 解决方法
#define不是全局的,它们只是一个替代,它曾经被使用过(如果在相同的编译单元中声明)
它们不是全局变量,它们不是符号,它们在链接上是无关紧要的,它们只与预编译有关. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |