c++ - 如何在 Intel 语法中使用 clang 生成汇编代码?

标签 c++ assembly x86 clang intel

作为 this question显示,使用 g++,我可以执行 g++ -S -masm=intel test.cpp。 此外,使用 clang,我可以执行 clang++ -S test.cpp,但 clang 不支持 -masm=intel(编译期间未使用的警告参数:- masm=intel)。如何使用 clang 获取 intel 语法?

最佳答案

作为 noted below by @thakis ,较新版本的 Clang (3.5+) 接受 -masm=intel论据。


对于旧版本,这应该会发出带有 Intel 语法的汇编代码:

clang++ -S -mllvm --x86-asm-syntax=intel test.cpp

您可以使用 -mllvm <arg>从 clang 命令行传入 llvm 选项。遗憾的是,这个选项似乎没有很好的文档记录,因此我只能通过浏览 llvm 邮件列表找到它。

关于c++ - 如何在 Intel 语法中使用 clang 生成汇编代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10990018/

相关文章:

android - 使用 C++ 支持创建 Android 项目的正确方法

linux - 程序使用 gdb 运行但不使用 ./ProgramName 运行

c - 如何用C软件中断正在运行的函数?

x86 - 使用 AVX2 计算 8 个 long int 的最小值

c++ - 在 C++ 中存储未知大小的数据

c++ - 结构操作,代码不起作用?

c++ - 我可以在类外初始化一个 `constexpr static` 成员吗?

assembly - 一个32位寄存器和一个常量的指令怎么可能只占用三个字节呢?

assembly - 需要一些关于汇编语言中 LEAVE 指令的解释

assembly - 如何在汇编中保存esi或edi