对ld-linux.so为了找到一个共享库是一个在linux教程

对ld-linux.so为了找到一个共享库是一个在linux教程
ld-linux.so查找共享库的顺序
一个在glibc库是LD安装Linux。所以,x,其中x是一个数,和名字将在不同平台上的不同。你可以使用ldd查看:
# LDD /斌/猫
Linux的大门。所以,1 = >(0x00bfe000)
Libc。所以,6 = / / libc库,6(0x00a4a000)。
/ lib / LD Linux。所以2(0x00a28000)。
最后一个不是运行,第一个不是实际的库文件,你找不到它,它是一个与内核交互的虚拟库文件。
ld-linux.so是图书馆致力于寻找库文件,例如,猫,猫第一次告诉ld-linux.so需要libc。所以。6库文件,并将找到ld-linux.so libc。所以,在一个特定的顺序6库又称猫。
ld-linux.so怎么找到它的事实上,它不需要看。对ld-linux.so位置写的程序,和GCC去世时是编译。在gcc程序ld-linux.so的位置可以通过修改GCC spec文件的改变。
ld-linux.so查找运行时共享库的顺序
(1)LD Linux。所以。6是可执行目标文件中指定的,可以被视为与readelf命令
(2)LD Linux。所以。6默认是在/ usr / lib和库搜索;当glibc安装 / usr /地方,看起来 / usr /局部/ lib
(3)在ld_library_path环境变量设置路径
(4)在/ etc / ld.so.conf指定的路径(或/ usr / / / LD等地方。所以conf),这是从二进制ld.so.cache要想产生的
在编译时,ld-linux.so查找共享库的顺序
(1)因此,6被设置在GCC的规范文件中。
(2)路径的搜索目录打印打印gcc --主要是libgcc_s.so和其他库。可以设置gcc_exec_prefix
(3)在library_path环境变量设置路径,或L / usr /地方在编译命令行指定 / lib
(4)默认的搜索路径序列集的LD binutils时指定编译binutils。(由LD --冗长;grep search,|;视图)
(5)二进制程序的搜索路径序列中设置PATH环境变量。将军/ usr /本地/本高于 / usr /箱
(6)搜索路径序列的头文件在编译的时候是类似图书馆的搜索顺序。一般/ usr /局部/包括高于 / usr /包括
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部