码迷,mamicode.com
首页 > 系统相关 > 详细

Linux下的库

时间:2017-06-29 11:13:37      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:不同的   文件   .so   百度   .lib   超人   了解   配置   lin   

Linux下的库

库,无论在什么平台下,都只有两种,一种是:
  • 动态库,可以多个共享
  • 静态库,直接编译到软件之中
这种形式,无论在哪里,都不会发生改变!但是,可以会因为平台的不同,而有所不同,例如:
在windwos下是:.lib文件和.dll文件
在Linux下是:.a文件和.so文件
在Mac下是归档文件[我还没了解清楚]

所以,使用平台的不同,有些是不同,但是,原理是一样的,我们只有学会了原理,才可以举一反三,在不同的平台上进行合理的操作和流利的过度

静态库和动态库都各有优缺点,这些优缺点要学会合理利用,而且,每一种方式都要会,这样的话,我们就可以根据实际情况来进行裁剪,对软件进行最合适的配置了
我简单举几个例子:
动态库,可以多个软件共享,而且只有一份,如果,有许多的软件都要共享,那么,这是一种好的方式,比如,百度的地图,就提供了一个so文件,这样的话,所有的机器都可以用,可以不用重新编译
静态库,可以直接编译到软件中,不用拖泥带水,一个软件挂一大堆的动态包,这是一种不友好的行为的,而且,有的软件动态包超级大,而,你又是只用到其中一个小小的功能,这无疑,是一种糟糕的做法!但是,有时候,你也会发现直接编译进软件,会有其他的不好的地方,比如:这个单一的软件,超级大!而且是一个超级大!编译也很浪费时间!

一句话说清楚:大型项目用动态库,小型软件直接静态编译

根据UNIX哲学:不要去创造大的东西,尽量保持简洁,我们一直都是建议,尽可能的小,做到无敌小超人那样!

Linux下的库

标签:不同的   文件   .so   百度   .lib   超人   了解   配置   lin   

原文地址:http://www.cnblogs.com/xujintao/p/7093214.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!