Linux函数库

linux下的程序库文件可以分为3种:

--------------------------------------------------------------------------------------------------------------------

静态函数库(static libraries)              程序编译时加载

共享函数库(shared libraries)           程序启动时加载称作soname必须以lib为前缀,然后是库名然后是“.so”最后是版本号

动态加载库(Dynamically loaded)  运行到该函数时才加载的库

--------------------------------------------------------------------------------------------------------------------

 

静态函数库特点


 

扩展名为.a

函数库在编译的时候直接整合到执行程序中

只要函数库升级了,所有纳入次函数的程序都要重新编译

 

动态函数库特点


 

扩展名为.so

动态函数库在编译的时候没有加入可执行文件中,只有在使用到的时候,才去读库的内容

函数库升级不影响执行程序本身

 

函数库位置


 

普通的函数库

/usr/lib  

/lib

kernel的函数库

/lib/modules

 

两个重要的命令


 

(1) ldconfig  (把动态函数库加载到内存中,提高读取速度)

① 在 /etc/ld.so.conf中写下想要读入高速缓存中动态函数库所在的目录

② 利用 ldconfig 将/etc/ld.so.conf的数据读入缓存中

③ 同时将数据记录一份在/etc/ld.so.cache中

 

使用方法:

root# ldconfig  直接命令行输入即可

root# ldconfig -p 列出目前所有函数库数据内容(ld.so.cache中得内容)



 

(2)ldd  (判断可执行文件包含的动态库文件)

使用方法:

ldd /sbin/ip  查看这个文件的数据库数据

 

 

posted on 2012-09-12 15:27  melburg  阅读(127)  评论(0)    收藏  举报