为什么不鼓励使用 LD_PRELOAD?

Sam*_*Sam 4 c++ compilation shared-libraries ld-preload

我在 Google 的tcmalloc文档页面上看到了这条建议。

您可以通过使用 LD_PRELOAD 在您未自行编译的应用程序中使用 TCMalloc:

$ LD_PRELOAD="/usr/lib/libtcmalloc.so" 
Run Code Online (Sandbox Code Playgroud)

LD_PRELOAD 比较棘手,我们不一定推荐这种使用模式。

为什么他们不鼓励 LD_PRELOAD?它本质上有什么问题吗?普通链接是否更稳健?如何?

ysd*_*sdx 5

使用时LD_PRELOAD,该tcmalloc实现也将用于任何子进程,这可能不是您想要的。