重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一个头文件一般包含类、子程序、变量和其他标识符的前置声明。需要在一个以上源文件中被声明的标识符可以放在一个头文件中,使用时在其他源文件中包含该头文件。
十年建站经验, 成都做网站、成都网站设计、成都外贸网站建设客户的见证与正确选择。创新互联提供完善的营销型网页建站明细报价表。后期开发更加便捷高效,我们致力于追求更美、更快、更规范。头文件作为模块的公共接口,在其中声明函数原型、对象和数据类型。
让我们首先创建一个头文件 add.h:
#ifndef _ADD_H_
#define _ADD_H_
int add(int, int);
#endif
其中 #ifndef, #define, #endif 是编译器指令,为了防止重复包含头文件,最好将所有声明置于 #ifndef ... #endif 区块中。_ADD_H_ 是头文件标识符,为了保持唯一性,一般为头文件名大写,并将其中的句号替换为下划线,同时前后各加一条下划线。
然后让我们再创建一个源文件 add.c 来实现 add.h 中声明的函数原型:
#include "add.h"
int add(int a, int b)
{
return a + b;
}
至此我们就准备好了一个源码文件 add.c 和一个头文件 add.h,现在你可以在其他 .c 文件中包含头文件 add.h,然后将它链接到 add.c 的链接文件。
现在我们创建一个文件 triple.c,并在其中包含 add.h 头文件:
#include
#include"add.h"int triple(int x){
return add(x, add(x, x));
}
void main() {
int x;
scanf("%d", &x);
printf("x=%d
", triple(x));
}
接下来就是使用 gcc 编译它们,首先编译 .c 源文件为 .o 链接文件:
$ gcc -c triple.c -o triple.o
$gcc -c add.c -o add.o
我们得到两个链接文件 triple.o, add.o。现在让我们将它们链接成可执行文件:
$ gcc triple.o add.o -o triple
让我们测试一下可执行文件 triple:
$ ./triple
12
x=36
总结:头文件是在预编译阶段使用,在预编译时编译器会使用头文件中的内容替换 #include 命令。