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

西安信息网站建设·温州公司建设网站

西安信息网站建设,·温州公司建设网站,wordpress 获取友链,金塔网站建设一、动静态库 1、库的理解 库其实是给我们提供方法的实现,如上面的对于printf函数的实现就是在库中实现的,而这个库也就是c标准库,本质也是文件,也有对应的路径 2、区别 静态库是指编译链接时,把库文件的代码全部加入…

一、动静态库

1、库的理解

库其实是给我们提供方法的实现,如上面的对于printf函数的实现就是在库中实现的,而这个库也就是c标准库,本质也是文件,也有对应的路径

2、区别

      静态库是指编译链接时,把库文件的代码全部加入到可执行文件中

      动态库:在程序执行时由运行时链接文件加载库,只加载所需要的,节省空间大小

       Linux中:.so(动态库)    .a(静态库)     windows :     .dll(动态库)    .lib(静态库)

        在Linux中只会安装动态库,而静态库需要自己安装

由于gcc编译时默认使用的是动态库,完成的是动态链接,如要实现静态链接就要添加-static

3、命名规则 

  libname.so.xxx,name为c就是c库,c++就是c++库

4、 库的作用

方法的实现就在库当中,库就是将源文件(.c)经过一定的翻译,然后打包,封装然后只提供一个所需的文件,而将其他源文件隐藏

具体的软件的实现  = 头文件中的方法声明 + 库文件提供的方法实现 + 具体代码

二、动静态链接

先讲一个故事方便理解

1、动静态链接

动态链接就是当可执行程序自己完成不了时,就需要跳转到库中,执行库中的方法,执行完后再进行返回

特点:拷贝的是在哪里实现,不拷贝具体的实现方法;动态库只需要一个;可执行程序依旧依赖库;一旦缺失动态库,会影响很多的可执行程序无法正常运行

编译器使用静态库进行静态链接时,会将静态库的所有方法实现拷贝到可执行程序中,使该程序不再依赖静态库

注意点:

  1.如果我们没有静态库,但就要-static  ,是不行的

  2.如果没有动态库,但有静态库,而且gcc能找到,这个是可以的; 因为gcc默认优先动态链接,       而-static的本质就是改变优先级,使所有链接要求变为静态链接,并且只能适配一次

3.所有的链接都是静态链接和动态链接混合使用的

2、优缺点

动态库:优:因为是共享库,可以有效的节省资源(磁盘空间,内存空间,网络空间等)

              缺:一旦缺失,导致各个程序都无法运行

静态库:优:不依赖库,程序可以独立运行

              缺:体积大,比较消耗资源

3、ldd和file 指令

ldd 可以查询文件依赖的动态库    方法:ldd + 文件名

file 可以查询可执行程序是动态链接还是静态链接   方法: file 文件名

http://www.yayakq.cn/news/415993/

相关文章:

  • js网站开发二手房交易网站开发源码
  • 怎么建设seo自己网站天元建设集团有限公司恒大
  • 大良做网站网站如何添加图标
  • 长安微网站建设优秀个人网页
  • 高水平网站运营托管网站建设跟版网
  • wordpress自动加文章tittlewordpress宝塔优化
  • 网站重新搭建程序要多少钱网站建设公司的方案模板
  • 东莞营销网站建设哪个平台好市场营销的十大理论
  • 述建设一个网站的具体步骤天津特定网站建设推广
  • 网站ui设计软件怎么选择扬中网站建设
  • 东营做网站优化多少钱当下最火的加盟店
  • 怎样做好网站建设青岛李沧区城乡建设局网站
  • 一起做网店的网站做游戏特效的网站
  • 帮企网站建设免费做淘宝客网站有哪些
  • 全屋定制十大名牌排行最新网站seo运营培训机构
  • 常见的网站开发语言备案域名出售是否违法
  • 购物网站大全论文网站建设目标
  • 找公司网站建设3椒江网站制作
  • 最好的国际贸易网站西安异构国际设计
  • 免费注册网站免登录WordPress最快主题
  • 小学网站建设实施方案吉林长春seo网站建设网站优化
  • 网站 不 备案新机发布最新消息
  • 郑州网站建设氵汉狮网络创意营销案例
  • iis配置网站无法浏览wordpress悬浮小人
  • 医院证明p图软件在线网站图片加载 优化
  • 怎样注册自己网站的域名做网站建设销售辛苦吗
  • 重庆永川建设银行网站重庆住房和城乡建设厅官方网站
  • 上海模板建站哪家好牛商网网站源码
  • 境外网站icp备案品牌策划公司的市场
  • 浙江公司网站建设推广wordpress 安装语言包