macos - 是否可以仅在 Mac OS X 上使用 GNU Assembler 生成纯二进制文件?

标签 macos assembly abi

我为 x86 编写了一些汇编代码,并想通过使用 Mac 的默认汇编程序('as')将其组装成纯二进制文件(不是 Mach-O)。经过几次谷歌搜索和尝试,我失败了。

虽然我知道如何使用 NASM(使用选项:-f 二进制),但我不想这样做。因为我的代码是用 AT&T 语法编写的,而且我已经习惯了 AT&T 语法。

最佳答案

使用 objcopy (它是 binutils 的一部分,是 as )和 --output-target设置为 binary .

as --64 test.s -o test.o
objcopy -O binary test.o test.bin

并反汇编输出:
objdump -D -m i386:x86-64:intel -b binary test.bin

(对于 32 位版本,替换 --32 并删除 x86-64:)

关于macos - 是否可以仅在 Mac OS X 上使用 GNU Assembler 生成纯二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7967729/

相关文章:

python - setup.py 未在 mac osx 中创建正确的文件夹/配置?

c++ - 使用inline内联汇编器对带有进位的bigint add进行编码

C 头文件和 ABI

MacOs 中迁移助手后 Mysql Server 无法启动

r - 通过命令行将书签创建为 PDF 文件

linux内核开发

assembly - Cygwin:汇编语言开发?

debugging - 使用 GCC 检测 ABI 兼容性问题

c - ABI 是 C 标准的一部分吗?

ios - XCode Framework 引用路径和构建输出目录