LD_LIBRARY_PATH和-library-path

LD_LIBRARY_PATH和-library-path

Content #

在Linux系统中,LD_LIBRARY_PATH是一个由若干个路径组成的环境变量,每个路径之间由冒号隔开。默认情况下,LD_LIBRARY_PATH为空。

如果为某个进程设置了LD_LIBRARY_PATH,那么进程在启动时,动态链接器在查找共享库时,会首先查找由LD_LIBRARY_PATH指定的目录。

这个环境变量可以很方便地让测试新的共享库或使用非标准的共享库。比如希望使用修改过的libc.so.6,可以将这个新版的libc放到的目录 /home/user中,然后指定LD_LIBRARY_PATH:

$ LD_LIBRARY_PATH=/home/user /bin/ls

Linux中还有一种方法可以实现与LD_LIBRARY_PATH类似的功能,那就是直接运行动态链接器来启动程序,比如:

$/lib/ld-linux.so.2 –library-path /home/user /bin/ls

就可以达到跟前面一样的效果。

From #

程序员的自我修养