问如何读取对象文件并跳转到其中的位置?
答您需要动态链接器或加载器。可以malloc一些空间并读取对象文件,但您需要了解很多关于对象文件格式、重定位等的信息,并且如果代码和数据位于不同的地址空间,或者代码受到其他特权限制,这种方法将无法工作。
在 BSD Unix 下,您可以使用system和ld -A来完成链接。许多版本的 SunOS 和 System V 都拥有包含类似例程的 -ldl 库dlopen和dlsym这允许动态加载对象文件。在 VMS 下,使用 LIB$FIND_IMAGE_SYMBOL。GNU 有一个名为“dld”的软件包。另请参阅问题 15.13。