设为首页 加入收藏

TOP

Linux 的库文件
2014-11-24 13:10:02 来源: 作者: 【 】 浏览:0
Tags:Linux 文件

1.什么是库


windows平台和linux平台下都存在着大量的库。


本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。


由于windowslinux的本质不同,因此二者库的二进制是不兼容的。


本文仅限于介绍linux下的库。




2.库的种类及区别


静态库和共享库(动态库)


后缀不同


通常共享库以.so(SharedObject的缩写)结尾,静态链接库通常以.a结尾(Archive的缩写)。在终端缺省情况下,共享库通常为绿色,而静态库为黑色。




代码被载入的时刻不同


静态库——编译时加载


动态库——语句调运时加载




静态库的代码在编译过程中已经被载入可执行程序,因此体积较大。


动态库,程序中只保留库文件的名字和函数名,在运行时去查找库文件和函数体并载入内存,程序的体积基本变化不大。




静态库的原则是“以空间换时间”,增加程序体积,减少运行时间;


动态库则是“以时间换空间”,增加运行时间,减少了程序本身的体积。


不同的应用程序如果调用相同的动态库,那么在内存里只需要有一份该动态库的实例。




3.库存在的意义


你调用函数的时候,只是一个#include就搞定,操作系统就自己帮你去找你要用的东西,(前提是你的环境变量要正确,或者你的库在系统默认的地方),而且库函数是成熟稳定的。




你不用去编写所用的代码,你可以用牛人们已经用了千百遍的代码——标准库


这也是团队合作的必要。你有时候只需要了解函数的功能、入口、出口。




如病毒库的升级,具体的我还得查查资料。哈哈见笑。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux 下创建静态库和动态库 下一篇Qt和网页中的JavaScript函数相互..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: