关闭

µC/OS-II学习笔记(一) 基本知识

383人阅读 评论(0) 收藏 举报

1.       INCLUDE.H是主头文件

2.       不依赖于编译的数据类型:它是针对80x86的实模式,在大模式下编译.

3.       全局变量 .H头文件中

 

程序清单 L 1.2  定义全局宏。

#ifdef   xxx_GLOBALS

#define  xxx_EXT

#else

#define  xxx_EXT extern

#endif

   

.H 文件中每个全局变量都加上了xxx_EXT的前缀。xxx代表模块的名字。该模块的.C文件中有以下定义:

 

#define  xxx_GLOBALS

#include "includes.h"

   

当编译器处理.C文件时,它强制xxx_EXT(在相应.H文件中可以找到)为空,(因为xxx_GLOBALS已经定义)。所以编译器给每个全局变量分配内存空间,而当编译器处理其他.C文件时,xxx_GLOBAL没有定义,xxx_EXT被定义为extern,这样用户就可以调用外部全局变量。

4.       OS_ENTER_CRITICAL() 关中断;而OS_EXIT_CRITICAL()开中断。关中断和开中断是为了保护临界段代码。这些代码很显然与处理器有关。关于宏的定义可以在OS_CPU.H中找到。

 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3868次
    • 积分:63
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章存档
    最新评论