【发布时间】:2021-07-25 00:49:49
【问题描述】:
我知道 dlopen 用于加载使用“-shared”和可能的“-fPIC”编译的共享库。 但是由于可执行文件和动态库共享相同的格式,我想知道是否可以直接加载可执行文件?
我们可能需要重新构建一个自定义的 dlopen 和 dlsym 是可以接受的,只是想知道是否可以在对二进制文件透明的同时做这些事情。
顺便说一句,加载的可执行文件不能被重用也是可以接受的(因为它不是用-fPIC编译的)。
提前致谢。
【问题讨论】:
-
你可以试一试,但无论结果如何,都将取决于平台。 (确保可执行文件已编译并使用选项
-fPIC链接。)