在global.h中应用EXTERN申明全局变量,代码如下:

#define EXTERN extern#ifdef TABLE    #undef EXTERN    #define EXTERN#endifEXTERN i32_t tty_pos;EXTERN u8_t gdt_info[6];EXTERN gdesc_t gdt[GDT_SIZE];

在table.c中定义TABLE宏,并蕴含global.h,可使得所有的全局变量在table.c中定义,代码如下:

#define TABLE/* 所有全局变量在此文件中定义 */#include "global.h"

而所有其余蕴含global.h的C文件只蕴含全局变量的申明。