首页 > 代码库 > Linux下的库
Linux下的库
Linux下的库
库,无论在什么平台下,都只有两种,一种是:
库,无论在什么平台下,都只有两种,一种是:
- 动态库,可以多个共享
- 静态库,直接编译到软件之中
这种形式,无论在哪里,都不会发生改变!但是,可以会因为平台的不同,而有所不同,例如:
在windwos下是:.lib文件和.dll文件
在Linux下是:.a文件和.so文件
在Mac下是归档文件[我还没了解清楚]
所以,使用平台的不同,有些是不同,但是,原理是一样的,我们只有学会了原理,才可以举一反三,在不同的平台上进行合理的操作和流利的过度
静态库和动态库都各有优缺点,这些优缺点要学会合理利用,而且,每一种方式都要会,这样的话,我们就可以根据实际情况来进行裁剪,对软件进行最合适的配置了
我简单举几个例子:
动态库,可以多个软件共享,而且只有一份,如果,有许多的软件都要共享,那么,这是一种好的方式,比如,百度的地图,就提供了一个so文件,这样的话,所有的机器都可以用,可以不用重新编译
静态库,可以直接编译到软件中,不用拖泥带水,一个软件挂一大堆的动态包,这是一种不友好的行为的,而且,有的软件动态包超级大,而,你又是只用到其中一个小小的功能,这无疑,是一种糟糕的做法!但是,有时候,你也会发现直接编译进软件,会有其他的不好的地方,比如:这个单一的软件,超级大!而且是一个超级大!编译也很浪费时间!
一句话说清楚:大型项目用动态库,小型软件直接静态编译
根据UNIX哲学:不要去创造大的东西,尽量保持简洁,我们一直都是建议,尽可能的小,做到无敌小超人那样!
Linux下的库
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。