看到网上一些对库文件比较好的说法,把它整理一下:

函数和数据被编译为机器码之后存入一个二进制文件中,在使用目标文件(obj)或者静态库(lib)时,链接器从目标文件或静态库中找到这些代表函数和数据的二进制码并把它们复制到EXE应用程序中,和其他模块组合起来从而生成最终可被执行的EXE文件。

目标文件和静态库文件只是起到一个“二进制源”作用,当最终的EXE发布时,因为之前的目标文件和静态文件已经被包含在EXE里面了,所以无需同时发布它们。

目标文件一般是C文件或其他编程语言文件编译而得的二进制代码,不用发布,但是静态库可发布给其他开发人员会环境使用。

对于dll:它和静态库文件不同,dll只有在程序被执行的时候才会加载dll中的功能模块,程序开发时更常见的是开发这些dll,因为dll支持其他Windows下的编程语言,很好的避免了兼容问题,其次提供给第三方的dll都只是提供一些接口给他们使用,只要这些接口不变,开发人员可以只修改这些dll的功能模块,而不需要第三方去修改依存这些dll的功能模块,还有dll可以在同一个OS下可以共享给不同的程序,从而能可以减少应用程序可执行文件的大小,节省了空间。

关于编译过程中生成的中间文件和库文件相关推荐

  1. 编译过程中,termcap.h 文件找不到路径 licli.a终于生成

    编译过程中,termcap.h      文件找不到路径   查看是linux  源码下找不到termcap.h文件 安装了所有关于*cap*的源码包也不起作用 今天终于解决了这个问题,搜termca ...

  2. C语言编译过程中*.i *.s *.o *.out 等文件是什么?

    大家好我是大石斑Grouper,今天查资料时候看到一段鸡汤,喂大家喝一口. 皮格马利翁效应(Pygmalion Effect),又称罗森塔尔效应,即对人们的期望值越高,他们的表现就越好. 对个人而言也 ...

  3. Linux下gcc编译中关于头文件与库文件搜索路径相关问题

    如何指定GCC的默认头文件路径 网上偶搜得之,以之为宝:) 原地址:http://blog.chinaunix.net/u/28781/showart.php?id=401631 ========== ...

  4. vc2005编译过程中没有找到MFC80UD.DLL,因此这个程序未能启动.重新安装应用程序可能会修复此问题? 的彻底解决

    vc2005编译过程中"没有找到MFC80UD.DLL,因此这个程序未能启动.重新安装应用程序可能会修复此问题"? 的彻底解决 收藏 快毕业了,为了工作的需要,需要使用庞大的VS2 ...

  5. 编译html成qch,在应用程序编译过程中运行qcollectiongenerator

    我一直在研究一个名为RoboJournal的程序很长一段时间.下一版本包含完整的文档;每当用户按F1或单击RoboJournal程序中的帮助项目时,帮助文件将显示在Qt助手中(比简单地打开浏览器窗口以 ...

  6. C++编译过程中没有找到MFC80UD.DLL,因此这个程序未能启动.重新安装应用程序可能会修复此问题? 的彻底解决...

    今天本人用vs2005 sp1中文版,学习C++程序的过程中,在执行MFC程序时,在编译过程中出现如下问题: 相关问题:这里编译时可能出现以下问题 /************************* ...

  7. 实验检测编译过程中的链接作用

    /* 名称:实验检测编译过程中的链接作用 说明:以前一直不太了解编译过程中链接是到底干嘛的(其具体的作用是什么),只浅浅的了解到这个阶段就是将各个目标文件连接在一起,至于为什么要连接,怎么连接,不是很 ...

  8. Qt编译过程中出现的问题

    1.解压源码zip包的时候,要使用参数-a,否则编译会有问题. 2.编译过程中出现错误:QT /usr/include/X11/extensions/XIproto.h:1825: 错误:expect ...

  9. keil mdk 编译过程中出现的Could not open file .\core_cm3.0 问题

    本人新换了一台电脑,脑子发热把用户名改成了中文形式,接下来出现了一大推让人头疼的事情,今天说的是keil5编译过程出现的Could not open file .\core_cm3.0 问题,编译错误 ...

最新文章

  1. 牛客题霸 SQL3 查找当前薪水详情以及部门编号dept_no
  2. jboss 发布web_JBoss模块示例–模块化Web应用程序
  3. 基于表的数据字典构造MySQL建表语句
  4. windows10和安装linux双系统安装教程(超简单)
  5. vb将excel数据导入mysql_使用VB将Excel导入到Sql中
  6. 流水作业调度问题 Johnson 算法
  7. CS 61A Environment Diagrams 学习笔记
  8. 二维otsu算法python_OpenCV-Python系列之OTSU算法
  9. 东芝服务器硬盘参数,性能媲美万转 东芝8TB MG05硬盘体验
  10. 关于Spring IOC (DI-依赖注入)你需要知道的一切
  11. 消息队列(MQ) 企业服务总线(ESB)
  12. FPN (特征金字塔) 的原理和代码
  13. golang map 锁_go 安全map 实现, 互斥锁和读写锁
  14. 什么是阻塞式和非阻塞io流?
  15. 个人简介个人自我介绍PPT模板
  16. Alist常用样式代码
  17. AUTOSAR ArcticCore重构 - for_each_HOH
  18. 单件模式之可乐瓶实现
  19. 马云:新一轮军备竞赛因为人工智能将会开启
  20. 刘翔退赛像一颗原子弹扔在了鸟巢

热门文章

  1. 斯坦福大学Tensorflow与深度学习实战课程
  2. 餐桌_纪中1237_水暴力
  3. 西门子1200plc轴运动控制程序模板 调用轴控制块做的控制3个伺服
  4. 逐浪海棠居刻本字-第一款基于unicode13标准构建的中文字库
  5. Latex术语表加边框
  6. [原创] 一键禁用网络和关闭浏览器,清除浏览器缓存的bat脚本
  7. css制作三道杠小图标菜单图标
  8. 关于ORA-01122,ORA-01110,ORA-01203的解决方案
  9. c++ ifstream中的eof()方法
  10. Android 9.0 (P版本) MTK平台原生的待机智能省电功能