将值关联到LLVM数组
如果我将LLVM数组创建为将值关联到LLVM数组,llvm,Llvm,如果我将LLVM数组创建为 %a = alloca [3 x i32] 如果要给数组中的第一个元素赋值,我该怎么做? 我是否必须以某种方式重新创建具有该值的数组?我想使用纯LLVM代码,而不是LLVM API。首先需要使用指令获取指向第一个元素的指针,然后使用该指针存储值: %p = getelementptr [3 x i32], [3 x i32]* %a, i32 0, i32 0 store i32 4, i32* %p 这将在第一个元素中存储值4。要存储在不同的索引中,请将最后一个
%a = alloca [3 x i32]
如果要给数组中的第一个元素赋值,我该怎么做?
我是否必须以某种方式重新创建具有该值的数组?我想使用纯LLVM代码,而不是LLVM API。首先需要使用指令获取指向第一个元素的指针,然后使用该指针存储值:
%p = getelementptr [3 x i32], [3 x i32]* %a, i32 0, i32 0
store i32 4, i32* %p
这将在第一个元素中存储值4
。要存储在不同的索引中,请将最后一个整数更改为所需的索引:
%p = getelementptr [3 x i32], [3 x i32]* %a, i32 0, i32 2
store i32 4, i32* %p
该指令将
4
存储在索引2
中。首先,需要使用指令获取指向第一个元素的指针,然后使用该指针存储值:
%p = getelementptr [3 x i32], [3 x i32]* %a, i32 0, i32 0
store i32 4, i32* %p
这将在第一个元素中存储值4
。要存储在不同的索引中,请将最后一个整数更改为所需的索引:
%p = getelementptr [3 x i32], [3 x i32]* %a, i32 0, i32 2
store i32 4, i32* %p
这个将
4
存储在索引2
中,非常感谢!非常感谢你!