本文主要是介绍linux ld so 源码分析,理解ld-linux.so.2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
ld-linux.so.2是linux的动态加载器(dynamic loader)。本文试图就ld-linux.so.2如何与Linux交互,如何与正在调用的应用程序进行交互 给出一个概述。
什么是ld-linux.so
现在,大多数程序都是动态链接的。 当操作系统加载一个动态链接的应用程序时,它必须找到并加载它执行该应用程序所依赖的动态库。 在linux系统上,这份工作由ld-linux.so.2处理。 你可以对一个应用程序 或 动态库使用ldd命令查看他依赖哪些库。
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
这篇关于linux ld so 源码分析,理解ld-linux.so.2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!