我真的不喜欢 GNU 汇编器语法,并且我使用 NASM 语法编写的一些现有代码移植起来会非常痛苦且耗时。
是否可以使global_asm!()宏使用 NASM 作为汇编程序或使 GAS 使用 NASM 语法?
我正在努力弄清楚如何使用 LLVM c++ API 分配数组元素。考虑这个 C 代码:
int main()
{
int aa[68];
aa[56] = 7;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
使用
clang -S -emit-llvm main.c
Run Code Online (Sandbox Code Playgroud)
我得到以下 IR(为了简单起见,跳过了属性和其他内容):
define dso_local i32 @main() #0 {
%1 = alloca i32, align 4
%2 = alloca [68 x i32], align 16
store i32 0, i32* %1, align 4
%3 = getelementptr inbounds [68 x i32], [68 x i32]* %2, i64 0, i64 56
store i32 7, i32* %3, align 16
ret i32 0
}
Run Code Online (Sandbox Code Playgroud)
我已经知道如何创建入站 GEP,但是当将值 …