linux ld so 源码分析,理解ld-linux.so.2

ld-linux.so.2是Linux系统中动态加载器,负责加载应用程序依赖的动态库。当应用程序启动时,操作系统将控制权交给ld-linux.so.2,它查找并加载未解析的库,然后将控制权转移给应用程序。ld-linux.so.2的定位和加载过程可以通过ldd、readelf等工具观察。动态链接器的实现细节包括在glibc中编译生成ld.so及其依赖。
摘要由CSDN通过智能技术生成

前言

ld-linux.so.2是linux的动态加载器(dynamic loader)。本文试图就ld-linux.so.2如何与Linux交互,如何与正在调用的应用程序进行交互 给出一个概述。

什么是ld-linux.so

现在,大多数程序都是动态链接的。 当操作系统加载一个动态链接的应用程序时,它必须找到并加载它执行该应用程序所依赖的动态库。 在linux系统上,这份工作由ld-linux.so.2处理。 你可以对一个应用程序 或 动态库使用ldd命令查看他依赖哪些库。

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

root@ubuntu:/lib# ldd `which ls`

linux-vdso.so.1 => (0x00007ffdb075f000)

libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007fb9e3650000)

libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb9e3286000)

libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值