|
|

楼主 |
发表于 2004-10-19 14:56:51
|
显示全部楼层
看起来不是这么简单的。我从别处找了点资料,也不知道对不对。看来只有以后分析源代码才能知道了。
在Linux下,大部分系统的library库被安装在/usr/lib目录下。只有一些
基本的共享库被安装在/lib目录下。例如:libc.so,libcurses.so,libm.so
,libtermcap.so(各个版本对应的文件会有些不同),在其他部分被mount上
之前,那些文件是启动Linux系统所必须的。连接器默认的搜索路径是
/lib,/usr/lib,/usr/local/lib。
环境变量LD_LIBRARY_PATH列出了查找共享库时除了默认路径之外的其他路径。
/etc/ld.so.conf文件则指出了程序ldconfig要搜索的目录。该程序将这些目录中所有的
共享库都存储到/etc/ld.so.cache中。假如共享库已经被从默认的目录中
移走,Linux ELF动态连接库将在/etc/ld.so.cache文件中找该共享库。
程序ldconfig将把/etc/ld.so.conf文件中列出的搜索目录中的所有的
共享库存储到/etc/ld.so.cache中。假如共享库已经被从默认的目录中
移走,Linux ELF动态连接库将在/etc/ld.so.cache文件中找该共享库。 |
|