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

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

简单来说:库文件通过头文件向外导出接口。用户通过头文件找到库文件中\x0d\x0a\x0d\x0a头文件中有函数的申明,库文件实现函数的定义。\x0d\x0a\x0d\x0a比如,printf函数。使用时应包括stdio.h,打开stdio.h你只能看到,printf这\x0d\x0a\x0d\x0a个函数的申明,却看不到printf具体是怎么实现的,而函数的实现在相应的C库\x0d\x0a\x0d\x0a中。而库文件一般是以二进制形式而不是C源文件形式提供给用户使用的。程序\x0d\x0a\x0d\x0a中包括了stdio.h这个头文件。链接器就能根据头件中的信息找到printf这个函\x0d\x0a\x0d\x0a数的实现并链接进这个程序代码段里。\x0d\x0a函数实现的代码从而把这段代码链接到用户程序中去。

广义的说,头文件也属于库文件的一种,当然,你所指的库文件是狭义的库文件。

那个库文件,相当于头文件与C文件的一种有机集合,他是这么制作出来的,举个例子来说:

当你写了一些C文件和头文件,这些C文件能够正确的编译,并能正确的生成Hex或者Bin代码文件,那么,你可以用Keil设置不输出Hex,而是生成Lib文件,也就是库文件,那么,你生成的这个库文件与你原来的C文件和头文件的功能完全相同,所不同的是,你这个库文件是只读的,也就是说,你可以利用里面的变量,利用里面的函数,但是你无法修改。

一些官方的库文件,比如ST公司的库文件也是这样生成的。

那么,库文件有什么意义呢?一是简化开发过程,试想一下,你开发一个工程,要加载数十乃至数百个C文件和头文件,与只加载一个等效功能的库文件,哪个省事?

而其最重要的一个意义就是保密性,由于库文件是只读的,且你看不到里面的具体内容,所以,如果你想保密,不想让别人知道你某些程序具体是如何实现的,那么,就可以用库文件,这样,别人可以使用你写好的程序,但是,他们既修改不了,同时也看不到具体的实现过程。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存