在一个文件中定义变量多个文件使用,没必要用extern关键字申明

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在一个文件中定义变量多个文件使用,没必要用extern关键字申明相关的知识,希望对你有一定的参考价值。


本文教大家如何在一个文件中定义变量,多个文件中试用
新建一个.h文件比如我新建的​​​main_value.h​​​ 然后在其中一个文件中包含​​main_value.h​​,在包含前面加一个宏定义,例如:

#define main_GLOBALS
#include "main_value.h"

void main()

while(1)



然后在​​main_value.h​​添加下面一段:

#ifdef main_GLOBALS
#define EXT
#else
#define EXT extern
#endif

然后就可以在下面定义变量了:

EXT uchar resetData[4],resetDataCount;
EXT bit F_2ms,F_500ms;
EXT u8 timerCount_2ms;

记住前面的EXT哦,以后所有文件包含​​main_value.h​​​这个头文件就可以使用变量了,编译也不会出现重复定义的错误。
这种有个小问题就是变量不使用软件不会吧变量优化了


以上是关于在一个文件中定义变量多个文件使用,没必要用extern关键字申明的主要内容,如果未能解决你的问题,请参考以下文章

C语言问题!让多个函数共享一个变量?

宏定义中使用extern

C语言编程 结构体让多个CPP使用

在 bash 中使用正则表达式复制和重命名多个文件

c++ 在编译时对define所定义的变量是怎么处理的?

我在用C语言编写程序,想把全局参数变量设置成一个文件,多个文件共用这些全局变量,如何做到?谢谢!