我对 C 和 C++ 编程相对缺乏经验,但是如果可以从共享库中加载和调用符号(据我所知,它们的编译和链接很像二进制文件),是否也可以从另一个 [executable] 二进制文件中加载符号在运行期间?
我对在 Linux 上使用 GCC 执行此操作特别感兴趣。
我对 C 和 C++ 编程相对缺乏经验,但是如果可以从共享库中加载和调用符号(据我所知,它们的编译和链接很像二进制文件),是否也可以从另一个 [executable] 二进制文件中加载符号在运行期间?
我对在 Linux 上使用 GCC 执行此操作特别感兴趣。
如果您在 Windows 上编程
在像 Oses 这样的 unix 上。dlopen和dlsym 之类的东西
dlsym 的示例查找 6.6。文件 demo_dynamic.c
理论上是的,您应该能够从二进制文件中提取对象并链接到它(静态或动态),但它需要您检查二进制结构。这很容易做到,因为现代 Linux 系统都使用 ELF 二进制文件,这是有据可查的。建议你从维基百科的文章开始,从那里开始。