在Linux上,可以使用ldconfig(它维护ld.so配置和缓存)打印出由ld.so搜索的目录
ldconfig -v 2>/dev/null | grep -v ^$'\t'
ldconfig -v打印出链接器搜索的目录(没有前导选项卡)和这些目录中的共享库(带有前导标签); grep获取目录。在我的机器上,这行打印出来
/usr/lib64/atlas:
/usr/lib/llvm:
/usr/lib64/llvm:
/usr/lib64/mysql:
/usr/lib64/nvidia:
/usr/lib64/tracker-0.12:
/usr/lib/wine:
/usr/lib64/wine:
/usr/lib64/xulrunner-2:
/lib:
/lib64:
/usr/lib:
/usr/lib64:
/usr/lib64/nvidia/tls: (hwcap: 0x8000000000000000)
/lib/i686: (hwcap: 0x0008000000000000)
/lib64/tls: (hwcap: 0x8000000000000000)
/usr/lib/sse2: (hwcap: 0x0000000004000000)
/usr/lib64/tls: (hwcap: 0x8000000000000000)
/usr/lib64/sse2: (hwcap: 0x0000000004000000)
第一个路径,没有hwcap在行,是内置的或从/etc/ld.so.conf读取。
然后,链接器可以在基本库搜索路径下搜索其他目录,其名称类似于sse2,对应于附加的CPU功能。
这些路径,hwcap在行中,可以包含为这些CPU功能量身定制的其他库。
最后一点注意:使用-p而不是-v将搜索ld.so缓存。