如何使用llvmc+;定义结构成员变量的名称+;美国石油学会
我是LLVM的新手。我想创建一个如下所示的结构:如何使用llvmc+;定义结构成员变量的名称+;美国石油学会,llvm,llvm-ir,llvm-c++-api,Llvm,Llvm Ir,Llvm C++ Api,我是LLVM的新手。我想创建一个如下所示的结构: struct abcd{ int a, int c, int d } 下面列出了我的源代码: structType at; at.setName("abcd"); std::vector<Type*> EltTys; EltTys->push_back(Type::getInt32Ty(getGlobalContext())); EltTys->push_back(Type::getInt32Ty
struct abcd{
int a,
int c,
int d
}
下面列出了我的源代码:
structType at;
at.setName("abcd");
std::vector<Type*> EltTys;
EltTys->push_back(Type::getInt32Ty(getGlobalContext()));
EltTys->push_back(Type::getInt32Ty(getGlobalContext()));
EltTys->push_back(Type::getInt32Ty(getGlobalContext()));
at.setBody(EltTys);
....
LLVM IR中的结构字段没有名称。如果要查找有关其字段的类型信息,请使用字段索引通过访问字段类型 我不完全清楚你想做的是什么意思
(struct abcd*)data->a=10代码>。如果要插入对生成代码的字段访问,请创建说明
顺便说一句,您只需执行以下操作,而不必编写代码片段:
Type* int_type = Type::getInt32Ty(getGlobalContext());
StructType* at = StructType::create("abcd", int_type, int_type, int_type);
因为StructType
已经有了。谢谢你,感谢你的帮助,这对我很有帮助!您能否提供一个关于如何使用LLVMStructCreateNamed()和LLVMStructSetBody()函数执行此操作的示例?短暂性脑缺血发作
Type* int_type = Type::getInt32Ty(getGlobalContext());
StructType* at = StructType::create("abcd", int_type, int_type, int_type);