资料介绍
通常情况下,都是在C文件中定义全局变量,在头文件中声明,但是,如果我们定义的全局变量需要被很多的C文件使用的话,那么将全局变量定义在头文件里面会方便很多,那到底是如何实现的?
os_var.c文件内容
#define OS_GLOBALS
/*
* os.h中定义很多的全局变量,但是os.h又需要被很多的c文件调用,如果不特殊处理的话,会出现全局变量多次定义的错误,
* 为了实现在os.h中定义全局变量,在os.h的开头加入以下宏定义,且在全局变量前面都加上“OS_EXT”
* #ifdef OS_GLOBALS
* #define OS_EXT
* #else
* #define OS_EXT extern
* #endif
* 然后单独定义一个os_var.c文件,然后包含os.h,且只在这个文件里面定义宏“OS_GLOBALS”,在其他包含os.h的文件中
* 都不定义宏“OS_GLOBALS”,那么在编译的时候,只有os_var.c里面的os.h里面的全局变量前面的OS_EXT才展开为空,其他
* 文件中包含的os.h中的全局变量前面的OS_EXT就展开为extern,即声明,而不是定义,这样就实现了在os.h中定义全局变量。
*/
#include “os.h”
os.h是uC/OS-III的总的头文件,里面定义了很多的全局变量,而且这个头文件会被很多的C文件调用,为了防止重复定义全局变量的问题,故采取了上面的方法,即单独新建一个C文件os_var.c,然后在这个C文件里面定义OS_GLOBALS这个宏,然后再包含os.h这个头文件。那么只有在编译os_var.c的时候,os.h里面的全局变量才是定义,其它c文件里面的os.h的变量都是声明,因为其它C文件我们不会定义OS_GLOBALS这个宏。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- C语言开发单片机为什么大多数都采用全局变量的形式?
- 全局变量被未知原因改变的解决方法
- MCU_头文件编写
- C语言开发单片机为什么大多数都采用全局变量的形式?
- 详解LABVIEW中的局部变量和全局变量 26次下载
- LABVIEW初级教程之局部变量与全局变量的示例程序合集免费下载 34次下载
- LABVIEW初级教程之局部变量与全局变量的详细资料说明 25次下载
- 在51平台下初始化文件的引入导致全局变量无法初始化的问题如何解决
- 单片机C语言不完全编程的规范详细说明
- 如何在CAA中定义全局函数 8次下载
- 三种全局变量和全局函数的三种基本方法 3次下载
- 从汇编代码访问C全局变量 0次下载
- 如何在C++代码中使用C头文件 3次下载
- Labview之全局变量 0次下载
- static作用(修饰函数、局部变量、全局变量) 4次下载
- 你是不是也没躲过这个坑?用了太多全局变量...... 376次阅读
- 请问头文件能不能定义变量呢? 770次阅读
- 嵌入式全局变量的初始化原理详解 954次阅读
- 西门子博途寻址全局变量 4355次阅读
- 模版定义一定要写在头文件中吗? 1098次阅读
- Python-局部变量与全局变量 777次阅读
- 怎么给全局变量起一个别名 445次阅读
- 用个简单demo实现对全局变量的管理 864次阅读
- C语言里函数的定义、子函数的使用及变量的作用域 6265次阅读
- C51单片机中定义一个全局变量会有怎样的影响 7894次阅读
- STM32单片机设计extern全局变量的定义解析 1.6w次阅读
- 浅谈变量在MCU中存储位置 4042次阅读
- LED显示接口模块程序设计详解 5398次阅读
- 基于static变量来实现一个模块的封装 5435次阅读
- 全局变量和局部变量有什么区别 3.2w次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多