Linux链接器/加载器的环境覆盖

Don*_*eld 2 c c++ linux linker loader

今天早些时候我问了一个关于environ问题,其中一个更有意思的回复表明我可以使用LD_DEBUG收集信息.

现在我已经了解了一些链接器/加载器环境变量(例如LD_PRELOAD),但这个对我来说是新的.谷歌搜索,我找到了一个特定于Linux的手册页,讨论链接器/加载器使用的环境变量,包括LD_DEBUG.所以从理论上讲,我已经确定了.但在实践中,我确信我错过了与工具链中这个基本工具相关的一整套技巧.

简而言之,我还缺少什么?

Nor*_*sey 5

我最喜欢LD_PRELOAD用来解决GNU libc中的错误或错误; 有一段时间connect用IPv6做了一些奇怪的事情,我只是编写了我自己的版本,总是使用IPv4.

Linux用户可以试试

man ld.so
Run Code Online (Sandbox Code Playgroud)

此外,该ldd命令告诉我们如何更好地了解动态库的解析方式.