一种全局变量的定义方法

xiaoxiao2021-02-28  97

参考uCOS中的全局变量定义,下面的方法很巧妙:

在XXX.h头文件中定义如下

#ifdef  XXX_GLOBALS

#define   XXX_EXT

#else     XXX_EXT   extern 

然后再XXX.C文件中声明

#define   XXX_GLOBALS

这样做有一个好处,在XXX.C文件中如果使用这些变量,由于已经宏定义了XXX_GLOBALS ,所以XXX_EXT为空,那么这些变量都是局部变量,而其他.c文件使用时,这些变量就变成了external全局变量。但是真正执行时,是通过xxx.c执行的,是不产生内存分配的,所以这种用法就显得非常巧妙了。

转载请注明原文地址: https://www.6miu.com/read-34396.html

最新回复(0)