C++ 为什么不鼓励使用LD_预加载?

C++ 为什么不鼓励使用LD_预加载?,c++,compilation,shared-libraries,ld-preload,C++,Compilation,Shared Libraries,Ld Preload,我在谷歌的文档页面上看到了这条建议 通过使用LD_PRELOAD,您可以在自己未编译的应用程序中使用TCMalloc: $ LD_PRELOAD="/usr/lib/libtcmalloc.so" LD_预加载很棘手,我们不一定推荐这种使用模式 为什么他们不鼓励LD_预加载?它有什么内在的问题吗?正常链接是否更健壮?如何使用?当使用LD_PRELOAD时,tcmalloc实现也将用于可能不是您想要的任何子进程。当使用LD_PRELOAD时,tcmalloc实现也将用于可能

我在谷歌的文档页面上看到了这条建议

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

$ LD_PRELOAD="/usr/lib/libtcmalloc.so" 
LD_预加载很棘手,我们不一定推荐这种使用模式

为什么他们不鼓励LD_预加载?它有什么内在的问题吗?正常链接是否更健壮?如何使用?

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

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

除了“回答,LD_PRELOAD的值,用于设置引导程序的充分理由

根据用例的不同,这可能是不可取的。例如,您不能编写一个shell脚本包装器,导出LD_PRELOAD,然后执行实际的程序。

除了'answer'之外,LD_PRELOAD的值对于设置向导的程序来说是有充分理由的


根据用例的不同,这可能是不可取的。例如,您不能编写一个shell脚本包装器,导出LD_PRELOAD,然后执行实际的程序。

文档建议了一种方法,但他们不希望人们使用LD_PRELOAD。这些不好的原因正是我想要理解的。他们只是说这很棘手。文档中建议了一种方法,但他们不希望人们使用LD_PRELOAD。这些不好的原因正是我想要理解的。他们只说这很棘手