ucosii的电子书很早就有,但一直没有去看,有点懒!
ucosii的电子书分了好多章,今天花了一下午的时间,还只看了一点点.
我以前一直对全局变量的定义没有一个规范性,今天从那里面学到了一种宏定义的方法,虽然对高手来说,这可能是微不足道的,但我是菜鸟,不会的,学到一点是一点,先记下来再说。
"include.h"
#ifdef xxx_GLOBALS<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> |
#define xxx_EXT |
#else |
#define xxx_EXT extern |
#endif |
.c
#define xxx_GLOBALS |
#include "includes.h" |
当编译器处理.C文件时,它强制xxx_EXT(在相应.H文件中可以找到)为空,(因为
xxx_GLOBALS已经定义)。所以编译器给每个全局变量分配内存空间,而当编译器处理其
他.C文件时,xxx_GLOBALS没有定义,xxx_EXT被定义为extern.
先写到这,慢慢看慢慢消化!
文章评论(0条评论)
登录后参与讨论