<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>LD_PRELOAD - 标签 - 研发日志 · R&amp;D Log</title><link>https://rd163.visword.com/tags/ld_preload/</link><description>LD_PRELOAD - 标签 - 研发日志 · R&amp;D Log</description><generator>Hugo -- gohugo.io</generator><language>zh-CN</language><managingEditor>whutluohui@gmail.com (小智晖)</managingEditor><webMaster>whutluohui@gmail.com (小智晖)</webMaster><copyright>本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。</copyright><lastBuildDate>Sun, 12 Jan 2025 00:00:00 +0800</lastBuildDate><atom:link href="https://rd163.visword.com/tags/ld_preload/" rel="self" type="application/rss+xml"/><item><title>Linux LD_PRELOAD 技术介绍</title><link>https://rd163.visword.com/posts/linux-ld-preload/</link><pubDate>Sun, 12 Jan 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/linux-ld-preload/</guid><description><![CDATA[<h1 id="linux-ld_preload-技术介绍" class="headerLink">
    <a href="#linux-ld_preload-%e6%8a%80%e6%9c%af%e4%bb%8b%e7%bb%8d" class="header-mark"></a>Linux LD_PRELOAD 技术介绍</h1><h2 id="ld_preload介绍" class="headerLink">
    <a href="#ld_preload%e4%bb%8b%e7%bb%8d" class="header-mark"></a>LD_PRELOAD介绍</h2><p>LD_PRELOAD是Linux/Unix系统的一个环境变量，它可以影响程序的运行时的链接，它允许在程序运行前定义优先加载的动态链接库。通过这个环境变量，可以在主程序和其动态链接库的中间加载别的动态链接库，甚至覆盖系统的函数库。</p>
<p>具体来说， Linux操作系统的动态链接库在加载过程中，动态链接器会先读取LD_PRELOAD环境变量和默认配置文件/etc/ld.so.preload，并将读取到的动态链接库文件进行预加载。即使程序不依赖这些动态链接库，LD_PRELOAD环境变量和/etc/ld.so.preload配置文件中指定的动态链接库依然会被加载，因为它们的优先级比LD_LIBRARY_PATH环境变量所定义的链接库查找路径的文件优先级要高，所以能够提前于用户调用的动态库载入。</p>]]></description></item></channel></rss>