C/C++头文件和库文件的区别和联系
我不是新手,但是还是搞不清楚,为什么引入了头文件还要连接库呢?或者为什么引入了库还要头文件呢?请高手指点。给些专业的回答...
我不是新手,但是还是搞不清楚,为什么引入了头文件还要连接库呢?或者为什么引入了库还要头文件呢?
请高手指点。给些专业的回答 展开
请高手指点。给些专业的回答 展开
4个回答
展开全部
头文件是指在C/C++编程中,可以写在程序里面,以#include 的形式包含的文件。对于C语言,一般以.h作为扩展名;对于C++,可以没有扩展名,也可以以.h或者.hpp做扩展名。规范中对头文件的扩展名并没有做约定。
库文件是将一系列的源文件进行编译打包,形成的二进制文件包,其中封装着函数接口,在编程中可以由其它源文件调用。库文件可分为静态库和动态库两种。
二者的区别为:
1 头文件是文本文件,是可供阅读的;库文件是二进制文件,不可直接阅读。
2 头文件在编译中使用;库文件在链接中使用。
3 头文件中是函数或定义的声明,及少量内联函数的使用,一般不包含非静态函数实现;库文件中包含函数的实现。
4 头文件是手动编写的,库文件是编译生成的。
二者也有联系:
1 虽然没有规定调用库函数必须引用头文件,但一般约定,当调用库函数的时候需要引用接口函数所在的头文件。
2 一个库文件均有一组头文件与其对应。
3 库文件和对应头文件的作者应为同一个。
4 作者必须保证头文件中所声明的函数类型及参数列表,与库文件中的实现是相同的。
库文件是将一系列的源文件进行编译打包,形成的二进制文件包,其中封装着函数接口,在编程中可以由其它源文件调用。库文件可分为静态库和动态库两种。
二者的区别为:
1 头文件是文本文件,是可供阅读的;库文件是二进制文件,不可直接阅读。
2 头文件在编译中使用;库文件在链接中使用。
3 头文件中是函数或定义的声明,及少量内联函数的使用,一般不包含非静态函数实现;库文件中包含函数的实现。
4 头文件是手动编写的,库文件是编译生成的。
二者也有联系:
1 虽然没有规定调用库函数必须引用头文件,但一般约定,当调用库函数的时候需要引用接口函数所在的头文件。
2 一个库文件均有一组头文件与其对应。
3 库文件和对应头文件的作者应为同一个。
4 作者必须保证头文件中所声明的函数类型及参数列表,与库文件中的实现是相同的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般头文件分两种
#include<文件名>
#include“文件名”
第一种,系统要系统目录中寻找要包含的文件,一般库函数都放在系统目录下,找不到的话,报错
第二种,在自己设置的目录中寻找,如果找不到,就到系统目录中寻找,再找不到,报错
#include<文件名>
#include“文件名”
第一种,系统要系统目录中寻找要包含的文件,一般库函数都放在系统目录下,找不到的话,报错
第二种,在自己设置的目录中寻找,如果找不到,就到系统目录中寻找,再找不到,报错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一楼回答很好了,同学习~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
头文件中有函数的申明,库文件实现函数的定义。
比如,printf函数。使用时应包括stdio.h,打开stdio.h你只能看到,printf这
个函数的申明,却看不到printf具体是怎么实现的,而函数的实现在相应的C库
中。而库文件一般是以二进制形式而不是C源文件形式提供给用户使用的。程序
中包括了stdio.h这个头文件。链接器就能根据头件中的信息找到printf这个函
数的实现并链接进这个程序代码段里。
总结起来就是,库文件通过头文件向外导出接口。用户通过头文件找到库文件中
函数实现的代码从而把这段代码链接到用户程序中去。
比如,printf函数。使用时应包括stdio.h,打开stdio.h你只能看到,printf这
个函数的申明,却看不到printf具体是怎么实现的,而函数的实现在相应的C库
中。而库文件一般是以二进制形式而不是C源文件形式提供给用户使用的。程序
中包括了stdio.h这个头文件。链接器就能根据头件中的信息找到printf这个函
数的实现并链接进这个程序代码段里。
总结起来就是,库文件通过头文件向外导出接口。用户通过头文件找到库文件中
函数实现的代码从而把这段代码链接到用户程序中去。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询