关于c:从Minix中学到的C语言小技巧

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

#define EXTERN extern

#ifdef TABLE
    #undef EXTERN
    #define EXTERN
#endif

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理