预计阅读本页时间:-
1.8.2 头文件
一个操作系统项目通常包括多个目录,每个目录都含有许多.c文件,这些文件中存有系统某个部分的代码,而一些.h头文件则包含供一个或多个代码文件使用的声明以及定义。头文件还可以包括简单的宏,诸如
#define BUFFER_SIZE 4096
宏允许程序员命名常数,这样在代码中出现的BUFFER_SIZE,在编译时该常数就被数值4096所替代。良好的C程序设计实践应该除了0,1和-1之外命名所有的常数,有时把这三个数也进行命名。宏可以附带参数,例如
广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元
#define max(a,b)(a>b?a:b)
这个宏允许程序员编写
i=max(j,k+1)
从而得到
i=(j>k+1?j:k+1)
将j与k+1之间的较大者存储在i中。头文件还可以包含条件编译,例如
#ifdef PENTIUM
intel_int_ack();
#endif
如果宏PENTIUM有定义,而不是其他,则编译进对intel_int_ack函数的调用。为了分割与结构有关的代码,大量使用了条件编译,这样只有当系统在Pentium上编译时,一些特定的代码才会被插入,其他的代码仅当系统在SPARC等机器上编译时才会插入。通过使用#include指令,一个.c文件体可以含有零个或多个头文件。