全局变量模块化处理.docVIP

  • 7
  • 0
  • 约2.76千字
  • 约 5页
  • 2020-12-15 发布于浙江
  • 举报
全局变量与模块化 某模块提供给其它模块调用的外部函数及数据需在.h 中文件中冠以extern 关键字声明; 这句话在上面的例子中已经有体现,即某模块提供给其它模块调用的外部函数和全局变量需在.h 中文件中冠以extern 关键字声明,下面重点说一下全局变量的使用。使用模块化编程的一个难点(相对于新手)就是全局变量的设定,初学者往往很难想通模块与模块公用的变量是如何实现的,常规的做法就是本句提到的,在.h文件中外部数据冠以extern关键字声明。比如上例的变量value就是一个全局变量,若是某个模块也使用这个变量,则和使用外部函数一样,只需在使用的模块.c文件中包含#include“lcd_device.h”即可。 另一种处理模块间全局变量的方法来自于嵌入式操作系统uCOS-II,这个操作系统处理全局变量的方法比较特殊,也比较难以理解,但学会之后妙用无穷,这个方法只需用在头文件中定义一次。方法为: 在定义所有全局变量(uCOS-II将所有全局变量定义在一个.h文件内)的.h头文件中: #ifdef xxx_GLOBALS #define xxx_EXT #else #define xxx_EXT extern #endif .H 文件中每个全局变量都加上了xxx_EXT的前缀。xxx 代表模块的名字。 该模块的.C文件中有以下定义: #define xxx_GL

文档评论(0)

1亿VIP精品文档

相关文档