【发布时间】:2011-11-10 03:21:07
【问题描述】:
我对 C 和 C++ 编程相对缺乏经验,但是如果可以从共享库中加载和调用符号(据我所知,它们的编译和链接很像二进制文件),是否也可以从另一个 [运行时可执行] 二进制文件?
我对在 Linux 上使用 GCC 执行此操作特别感兴趣。
【问题讨论】:
标签: c dynamic-loading
我对 C 和 C++ 编程相对缺乏经验,但是如果可以从共享库中加载和调用符号(据我所知,它们的编译和链接很像二进制文件),是否也可以从另一个 [运行时可执行] 二进制文件?
我对在 Linux 上使用 GCC 执行此操作特别感兴趣。
【问题讨论】:
标签: c dynamic-loading
如果您在 Windows 上编程
在像 Oses 这样的 unix 上。 dlopen 和 dlsym
之类的东西An example of dlsym 查找 6.6。文件 demo_dynamic.c
【讨论】:
理论上是的,您应该能够从二进制文件中提取对象并链接它(静态或动态),但它需要您检查二进制结构。这很容易做到,因为现代 Linux 系统都使用 ELF 二进制文件,这是有据可查的。建议你从wikipedia article开始,从那里走。
【讨论】: