C语言头文件
1.什么是静态库,头文件,以及他们之间的关系?
1.1 什么是静态库?
在日常编写程序中,有一些代码是经常使用的(如某些函数等),如果每次在写一个新的项目时的都要重新编写这些代码就会太费时费力,因此就有了公共代码,公共代码可以提供给程序员重复使用。
而公共代码重复使用的方式,就是将其编译为库文件。
在链接步骤中链接器从库文件中取得所需代码,并将所取代码复制到可执行文件的库就叫静态库。
相应的还有动态库,与题无关暂且不讲。
1.2 什么是头文件?
一句话来说,头文件是库文件提供给可执行文件的接口。
头文件本身不需要包含程序的逻辑实现代码,它只起描述性作用,用户程序只需要按照头文件中的接口声明来调用相关函数或变量,链接器会从库中寻找相应的实际定义代码。
1.3 因此以下将从编写静态库开始再编写头文件最后演示如何在可执行文件中调用自编的静态库。
2.编写静态库
2.1 在dev c++中创建新的静态库项目
2.2 在静态库项目中编写你的函数
2.3 编译你写的函数文件
2.4 查看是否出现.a后缀文件,文件名为项目名
3.编写头文件
3.1 还是在静态库项目下编写一个.h的文件,文件中声明函数
#ifndef 可以防止头文件被重复引用
4.如何调用自己编写的静态库
4.1 新建控制台程序项目
4.2 编写main函数调用前面写的函数
但此时先不要编译运行,毕竟还未进行链接
问:为什么这里使用的是"function.h"而不是<function.h>?
答:
用#include <某.h>:
一般用于包含标准的库头文件,编译器会去系统配置的库环境变量和者用户配置的路径去搜索
用#include "某.h":
一般用于包含用户自己编写的头文件,编译器会先在项目的当前目录查找,找不到后才会去系统配置的库环境变量和用户配置的路径去搜索
4.3 链接库文件
Ctrl+H或者鼠标右击项目进入项目属性,选择参数栏加入库文件(.a文件)
4.4 编译运行main文件
运行成功!