在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文件只蕴含全局变量的申明。