我可以在给定动态库的情况下取消链接可执行文件的动态化吗?

问题描述 投票:0回答:1

假设我有一个动态链接的可执行文件,它依赖于 libfoo 和 libbar 中的符号;并且它可以在我的系统上运行,即它找到这些共享库的适当版本。现在,我想用系统上 libfoo 的编译代码“替换”libfoo 上的动态依赖项,获得一个仅动态依赖于 libbar 的新可执行文件。

这可能吗?至少,在现代的 Linux 系统上?

如果有帮助,您还可以假设可执行文件来自单个 C 源文件;我有这个文件;我使用/不使用调试信息或使用您喜欢的任何编译开关进行编译。

shared-libraries static-linking dynamic-linking dynamic-loading
1个回答
0
投票

这可能吗?

不。出于所有实际目的,修改链接的

a.out
libfoo.so
是不可能的。

您可能会幸运地使用 statifier,但这并不总是有效,并且会创建巨大的二进制文件。

© www.soinside.com 2019 - 2024. All rights reserved.