【转】头文件和库文件区别
头文件提供声明,库文件提供定义/实现。 C 代码的编译过程: 预处理(需要头文件) -> 编译 -> 汇编 -> 链接(需要库文件); 执行时可能还有动态链接过程。
编译的时候,只要有头文件中的声明就足够了。在链接的时候,把已经编译好的.obj和现有的.lib文件进行链接,这时就可以最终生成可执行文件了。其实头文件与其实现文件或相应lib文件都没有直接的联系。头文件是告诉编译器函数是如何去调用如何返回的,所有实现都是分别编译,最后在链接阶段链在一起。
头文件包含声明, 库文件包含实现或者与DLL库的连接 所以,如果在代码里要用到这些函数那么就要包含头文件,编译的时候才能知道这些函数的原形; 在进行代码连接的时候就需要库文件了,这时连接器就把函数的实现代码(静态库)连接到你的程序或者将你的函数调用连接到相应的DLL的对应函数(动态库)
lib是静态库, 编译的时候代码直接插入到你的程序 ,DLL是动态库,编译的时候,只是产生一些调用DLL内代码的导入表,真正运行的时候是调用的DLL内的代码
转载于:https://www.cnblogs.com/sshao/p/3977450.html
【转】头文件和库文件区别相关推荐
- 头文件与库文件的区别
一.头文件与库文件的区别 头文件一般而言,是申明和定义. 库文件是已经编译好的二进制代码.这个二进制代码可以是动态的,如 .so :也可以是静态的,如 .a .如果是动态的,则最后生成的程序文件在运行 ...
- 头文件和库文件的区别
头文件中有函数的申明,库文件实现函数的定义. 比如,printf函数.使用时应包括stdio.h,打开stdio.h你只能看到,printf这 个函数的申明,却看不到printf具体是怎么实现的,而函 ...
- .h头文件 .lib库文件 .dll动态链接库文件关系
.h头文件是编译时必须的,lib是链接时需要的,dll是运行时需要的. 附加依赖项的是.lib不是.dll,若生成了DLL,则肯定也生成 LIB文件.如果要完成源代码的编译和链接,有头文件和lib就够 ...
- .h头文件 .lib库文件 .dll动态库文件之间的关系
.h头文件是编译时必须的,lib是链接时需要的,dll是运行时需要的. 附加依赖项的是.lib不是.dll,若生成了DLL,则肯定也生成 LIB文件.如果要完成源代码的编译和链接,有头文件和li ...
- Linux找头文件规则,linux 头文件、库文件查找顺序
linux 头文件.库文件查找顺序 默认分类 2009-11-14 01:24:28 阅读126 评论0 字号:大中小 linux 头文件.库文件查找顺序 2009-11-03 12:36 Inclu ...
- linux+C环境下动态管理头文件和库文件
本文共分三个部分:首先给出了一个简单的Makefile的例子,然后分别详细阐述了头文件和库文件的相关知识 1.一个Makefile的例: -L是指定链接时搜索路径,比如-L./等: -l是指定具体的库 ...
- Linux下gcc编译中关于头文件与库文件搜索路径相关问题
如何指定GCC的默认头文件路径 网上偶搜得之,以之为宝:) 原地址:http://blog.chinaunix.net/u/28781/showart.php?id=401631 ========== ...
- C程序背后的故事--头文件、库文件的查找
文章目录 1 C程序中头文件.库文件的查找 1.1 头文件有什么用 1.2 C文件有什么用 1.3 头文件在哪里 1.4 printf函数在哪里 1.5 如何指定自己的库 1 C程序中头文件.库文件的 ...
- C语言的头文件和库文件(函数库)
C语言的头文件和库文件(函数库) 分类: Unix环境高级编程 2011-04-17 14:37 2576人阅读 评论(1) 收藏 举报 语言cgcclinuxunix 在C语言中,头文件提供对常量的 ...
- linux应用开发:头文件和库文件的路径及使用
1. 头文件 1)系统标准头文件位置: /usr/include下,以及安装库的头文件位置:/usr/local/include/ 如 #include<linux/can.h> 对应 / ...
最新文章
- R语言pmax函数和pmin函数按位计算向量最大值、最小值实战
- 翻译连载 | JavaScript轻量级函数式编程-第7章: 闭包vs对象 |《你不知道的JS》姊妹篇...
- php删除文件指令,php – Symfony cache:清除命令更改文件夹所有者
- CodeSign error: code signing is required for product type Application in SDK iOS
- 单词九连猜python编程_python实现猜单词游戏
- 99行不用指针 c语言贪食蛇,关于C语言指针的问题
- ECCV 2020 Spotlight 谷歌论文大盘点
- speedbutton用法
- 4. Linux 系统目录
- 基于Verilog的贪吃蛇小游戏设计(附代码)
- 5G协议学习(38.300-物理层)
- 5分钟三句代码实现抖音自动下载
- lwj_C#_homework get set 属性
- LimeSDR新手入门教程(一)
- Mac 输入法自动切换,代码编辑器中文状态下使用英文标点
- 用python编程一个走迷宫游戏_Python基于分水岭算法解决走迷宫游戏示例
- 计算机考试怎么调整字号,WPS文字如何调节字体大小突破字号72的限制实现大小随意调...
- 最实用的自用同花顺主力资金暴发进出公式
- 容器技术解决了什么问题?有何优缺点?
- Elliptic Labs进入奥斯陆证券交易所主板上市名单
热门文章
- c#书写规范之---注释
- #029 博客换个主题从新开始
- HTML !DOCTYPE 标签
- egret 开发总结
- 【数据结构总结1】-数据结构的自述
- 200.Number of Islands
- 关于.NET前后台提示框的那点事
- Oracle E-Business Suite Maintenance Guide Release 12.2(Patching Utilities)
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(34)-文章发布系统①-简要分析...
- 每天工作4小时的程序员---source link http://news.cnblogs.com/n/145071/