当前位置: 首页 > news >正文

北京平台网站建设公司最近的大新闻

北京平台网站建设公司,最近的大新闻,企业网站模板大全,wordpress wp_list_pages什么是库文件 一般来说,一个程序,通常都会包含目标文件和若干个库文件。经过汇编得到的目标文件再经过和库文件的链接,就能构成可执行文件。库文件像是一个代码仓库或代码组件的集合,为目标文件提供可直接使用的变量、函数、类等…

什么是库文件

一般来说,一个程序,通常都会包含目标文件和若干个库文件。经过汇编得到的目标文件再经过和库文件的链接,就能构成可执行文件。库文件像是一个代码仓库或代码组件的集合,为目标文件提供可直接使用的变量、函数、类等。

库文件包含了静态链接库和动态链接库两种。两者最根本的区别在与在程序编译的过程中,如何处理库文件和目标文件的链接关系。

在这里插入图片描述

静态链接库

静态链接库在Linux系统中以.a文件的形式存在。

在上图程序编译的链接阶段,静态库会完全复制到可执行文件中,一旦可执行文件构建完成,就不再需要静态库的存在,可执行文件在后续的使用中,也不再依赖这个静态库。

动态链接库

虽然静态库非常容易理解且不会引入依赖问题,但是试想一下,如果你在统筹构建一个无比庞大的工程,这时,其中一个开发者升级了他所开发的库。这时,你就需要花费很长的时间来重新构建这个如此庞大的工程。这时,你就可以使用动态库来避免这个问题。

动态库在程序编译的**链接阶段,仅将一些重要的信息,如重定位和符号表信息复制到可执行文件中,**可执行文件在后面执行的过程中,如果需要引用这个库文件,就会根据这些信息从系统中寻找对应的库文件以实现对应的功能。

静态库和动态库的区别

区别静态库动态库
可执行文件大小较大
(因为动态库的内容会被完全复制到可执行文件中)
较小
占用磁盘大小较大
(如果有多个可执行文件都用到同一个静态库,这个静态库会被多次复制到不同的可执行文件中)
较小
(即使多个可执行文件都需要用到同一个动态库,他们也只是共用同一个动态库文件)
扩展性与兼容性全量更新
(库文件的更新会引起整个可执行文件的重新编译及发布)
增量更新
(不需要重新编译可执行文件,只需发布动态库文件)
依赖问题无依赖问题
(已构建的可执行文件不依赖其他静态库文件)
有依赖问题
(可执行文件的执行需要系统存在依赖的动态库文件)
复杂程度简单复杂
(会引起很多问题,例如如何在运行时确定地址,库文件版本管理等)
加载速度

CMake 中 target_link_libraries 的 PRIVATE,PUBLIC 和 INTERFACE 的区别

情况使用参数
只有源文件(.cpp)中包含了库文件PRIVATE
只有头文件(.hpp)中包含了库文件INTERFACE
源文件和头文件都包含了库文件PUBLIC

这里只是简单介绍了以下,具体的细节和解析请参考《CMake学习笔记.md》

参考链接

CMake教程(二)- 添加静态库文件和动态库文件

http://www.hkea.cn/news/796325/

相关文章:

  • html做的好看的网站如何宣传推广产品
  • 微信手机网站制作怎么引流客源最好的方法
  • 宿州建设网站公司前端seo搜索引擎优化
  • 做王境泽表情的网站百度seo关键词优化排名
  • 怎么选择无锡网站建设虚拟主机搭建网站
  • 做原油期货关注什么网站搜索引擎优化是做什么
  • 微信小程序怎么制作游戏安卓优化清理大师
  • 胶南做网站初学者做电商怎么入手
  • 网站为什么要维护佛山网络营销推广
  • 国企网站建设报告怎么建造自己的网站
  • 免费做司考真题的网站余姚网站如何进行优化
  • 如何网站开发1688网站
  • 丽水专业网站建设价格青岛网站优化
  • 网站开发专业培训学校百度推广登录官网入口
  • 贵阳做网站公司网站热度查询
  • 做课件最好的素材网站考拉seo
  • 网站建设玖首选金手指seo网站优化收藏
  • 台州卓远做网站好不好广州seo教程
  • dz网站数据备份bt磁力猪
  • github 可以做网站吗360seo
  • 杭州 企业门户网站建设爱链
  • dj那个网站做的好长沙公司网络营销推广
  • 设计师培训招生视频黑帽seo联系方式
  • 做网上贸易哪个网站好西宁网站seo
  • 电子烟网站建设杯子软文营销300字
  • 广州企业网站制作怎么做营销推广
  • 网站建设服务器在香港郑州网站建设专业乐云seo
  • 河北建设工程交易信息网海口关键词优化报价
  • 全国网站建设公司有多少家微信朋友圈广告投放收费标准
  • 免费做网站公司黑帽seo排名技术