【发布时间】:2011-02-04 05:14:19
【问题描述】:
我只是对在 OSX 上加载和执行 elf 文件的可能性感到好奇。我知道标准的可执行格式是 MACHO,但是 NASM 无法为 MACHO 对象生成调试信息(并且我需要使用 NASM)。我想这是一个很长的镜头,但我不认为我可以使用 ELF 文件。我可以用 NASM 构建它们,但我什至无法将它们与 LD 链接起来。
【问题讨论】:
标签: macos operating-system nasm
我只是对在 OSX 上加载和执行 elf 文件的可能性感到好奇。我知道标准的可执行格式是 MACHO,但是 NASM 无法为 MACHO 对象生成调试信息(并且我需要使用 NASM)。我想这是一个很长的镜头,但我不认为我可以使用 ELF 文件。我可以用 NASM 构建它们,但我什至无法将它们与 LD 链接起来。
【问题讨论】:
标签: macos operating-system nasm
最好的 OS X 内部书籍的作者有一些代码展示了如何编写内核扩展来处理另一种可执行文件格式here。他举了两个例子:运行 Google Native Client (NaCl) ELF 应用程序和使用 Apout 运行的 PDP-11 应用程序。
我不确定这个软件有多成熟。它目前支持 Leopard 和更好的版本。
【讨论】:
现在有一个“对象转换器”程序,它表示它可以将 ELF 文件转换为 MACHO 文件,以及对可执行文件和对象/加载器文件的其他几种转换。请参阅http://agner.org/optimize/#objconv 了解更多信息。没有尝试过,但有大量可用的文档。
【讨论】: