我正在 Xcode 中编写一个 C 项目,我想链接一个单独的程序集文件以与项目一起编译。但是我需要用 Intel 语法编写程序集,因为我发现 AT&T 语法绝对怪诞。
不幸的是,Apple 的默认 Clang 编译器不喜欢我在 Intel 中编写汇编代码,而更喜欢 AT&T。是否可以更改设置以允许以 Intel 语法编写单独的程序集文件?
例如,这组装:
.text
.global _func
func:
mov %rdx,%rax
ret
但这不会组装
.text
.global _func
_func:
mov rax,rdx
ret
编译器会在后一个示例中引发错误。
_func 正在从 C 代码中调用。
#include <stdio.h>
void func(void);
int main(int argc, const char * argv[]) {
func();
return 0;
}
澄清一下,我不是在写内联汇编。