Linker 是否可以打开可执行二进制文件?

Linker 是否可以打开可执行二进制文件?,linker,dlopen,Linker,Dlopen,我知道dlopen用于加载一个用“-shared”和可能的“-fPIC”编译的共享库。 但由于可执行文件和动态库共享相同的格式,我想知道是否可以直接加载可执行文件 可以接受的是,我们可能需要重新构建定制的dlopen和dlsym,只是想知道在对二进制文件透明的情况下是否可以执行这些操作 顺便说一句,加载的可执行文件不能重用也是可以接受的(因为它不是用-fPIC编译的) 提前感谢。这是Linux上的PIE可执行文件,但--GLIBC-2.30禁止它。您可以尝试,但无论结果如何,它都将取决于平台。(

我知道dlopen用于加载一个用“-shared”和可能的“-fPIC”编译的共享库。 但由于可执行文件和动态库共享相同的格式,我想知道是否可以直接加载可执行文件

可以接受的是,我们可能需要重新构建定制的dlopen和dlsym,只是想知道在对二进制文件透明的情况下是否可以执行这些操作

顺便说一句,加载的可执行文件不能重用也是可以接受的(因为它不是用-fPIC编译的)


提前感谢。

这是Linux上的PIE可执行文件,但--GLIBC-2.30禁止它。

您可以尝试,但无论结果如何,它都将取决于平台。(确保编译可执行文件并使用选项
-fPIC
链接)