是否可以在 Mac OS X 上仅使用 GNU 汇编器生成纯二进制文件?
我为 x86 编写了一些汇编代码,并希望仅使用 Mac 的默认汇编程序(“as”)将其汇编成纯二进制文件(不是 Mach-O)。经过几次谷歌搜索和尝试,我失败了。
虽然我知道如何使用 NASM 来做到这一点(使用选项:-f 二进制),但我不想这样做。因为我的代码是用 AT&T 语法编写的并且我已经习惯了。
I wrote some assembly code for x86, and wanted to assemble it into plain binary file (not Mach-O) by just using Mac's default assembler (the 'as'). After several googlings and tries, I failed.
Though I know how to do it with NASM (using option: -f binary), I don't want to do so. Because my code was written in and I was used to AT&T syntax.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用
objcopy
(它是 binutils 的一部分,就像as
一样),并将--output-target
设置为binary
。并反汇编输出:(
替换
--32
并删除x86-64:
对于 32 位版本)Use
objcopy
(which is part of binutils as isas
) with--output-target
set tobinary
.And to disassemble the output:
(Substitute
--32
and removex86-64:
for 32-bit versions)