prev up next   top/contents search

comp.lang.c FAQ 列表· 问题 19.36

如何读取对象文件并跳转到其中的位置?


您需要动态链接器或加载器。可以malloc一些空间并读取对象文件,但您需要了解很多关于对象文件格式、重定位等的信息,并且如果代码和数据位于不同的地址空间,或者代码受到其他特权限制,这种方法将无法工作。

在 BSD Unix 下,您可以使用systemld -A来完成链接。许多版本的 SunOS 和 System V 都拥有包含类似例程的 -ldl 库dlopendlsym这允许动态加载对象文件。在 VMS 下,使用 LIB$FIND_IMAGE_SYMBOL。GNU 有一个名为“dld”的软件包。另请参阅问题 15.13


prev up next   contents search
关于此 FAQ 列表   关于 Eskimo   搜索   反馈   版权

Eskimo North 托管