C语言 库文件与头文件有什么区别

C语言 库文件与头文件有什么区别,第1张

简单来说:库文件通过头文件向外导出接口。用户通过头文件找到库文件中

头文件中有函数的申明,库文件实现函数的定义。

比如,printf函数。使用时应包括stdio.h,打开stdio.h你只能看到,printf这

个函数的申明,却看不到printf具体是怎么实现的,而函数的实现在相应的C库

中。而库文件一般是以二进制形式而不是C源文件形式提供给用户使用的。程序

中包括了stdio.h这个头文件。链接器就能根据头件中的信息找到printf这个函

数的实现并链接进这个程序代码段里。

函数实现的代码从而把这段代码链接到用户程序中去。

头文件中有函数的申明,库文件实现函数的定义。

比如,printf函数。使用时应包括stdio.h,打开stdio.h你只能看到,printf这

个函数的申明,却看不到printf具体是怎么实现的,而函数的实现在相应的C库

中。而库文件一般是以二进制形式而不是C源文件形式提供给用户使用的。程序

中包括了stdio.h这个头文件。链接器就能根据头件中的信息找到printf这个函

数的实现并链接进这个程序代码段里。

总结起来就是,库文件通过头文件向外导出接口。用户通过头文件找到库文件中

函数实现的代码从而把这段代码链接到用户程序中去。

头文件,就是以#include开头后面包含的东东,这个文件是实际存在的,你的程序中包含这个头文件,那么在编译的时候就会把该头文件的所有内容编译进你的程序(有编译预处理的情况例外);比如有#include

,在cmath中有sin()这个函数的实现,那么你可以在程序中调用sin()函数,如果不包含cmath,那么编译就会出错;

库文件分几种,一种是资源类型的,就是存放的东西,供外部调用的没有函数,只有变量或类的实体;另一种是有简单的函数供外部调用;还有一种,也是用的比较多的,就是包含一个完整的模块,紧提供一个外部调用的接口,当外部调用该接口就开始运行这个模块,外部几乎就处于休眠状态;

目标文件就是编译过程中产生的,链接起来生成可执行文件的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12048629.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存