最近我在proggit上看到了对它的引用,但目前还没有解释它是什么。
我猜这个链接可能就是它,但我不确定。
你可以通过创建一个与预设库中相同的符号的库,并在LD_PRELOAD中指定该库,来覆盖预设库中的符号。
LD_PRELOAD
有些人会用它来指定非标准位置的库,但LD_LIBRARY_PATH更适合这个目的。
LD_LIBRARY_PATH
如果您将LD_PRELOAD设置为共享对象的路径,那个文件将在任何其他库(包括C运行时库libc.so)之前加载。因此,要使用您的特殊malloc()实现运行ls,请执行以下操作:
libc.so
malloc()
ls
$ LD_PRELOAD=/path/to/my/malloc.so /bin/ls
。
用户名或邮箱地址
密码