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 查看这个文件的数据库数据
浙公网安备 33010602011771号