什么是LD

我最近在proggit上遇到了一个引用,并且(现在)没有解释它。

我怀疑这可能是它,但我不知道。


如果将LD_PRELOAD设置为共享对象的路径,那么该文件将任何其他库(包括C运行时, libc.so之前加载。 因此,要使用特殊的malloc()实现运行ls ,请执行以下操作:

$ LD_PRELOAD=/path/to/my/malloc.so /bin/ls

您可以通过创建具有相同符号的库并在LD_PRELOAD指定库来覆盖库存库中的符号。

有些人使用它来指定非标准位置的库,但LD_LIBRARY_PATH更适合LD_LIBRARY_PATH目的。


使用LD_PRELOAD您可以为库提供优先权。

例如,你可以编写一个实现mallocfree的库。 通过加载LD_PRELOAD你的mallocfree将被执行,而不是标准的。

链接地址: http://www.djcxy.com/p/73581.html

上一篇: What is the LD

下一篇: Macros in C (or possibly C++)?