如何获取结构的 LLVMTypeRef?
How to get LLVMTypeRef of a struct?
尽管有标签,我实际上使用的是 llvm-sys Rust 库,但我相信 API 应该是相同的。
我正在使用 LLVM 来编译我正在创建的玩具编程语言。在我的语言的 RTS 库中,我有一个结构 MyStruct
。在发出的 LLVM 中,这变成
%struct.MyStruct = /* definition of struct */
根据文档,我不清楚我是如何获得与此结构对应的 LLVMTypeRef
的:
let myStructTypeRef: LLVMTypeRef = /* unsure how to write this code */
let myStructVariable: LLVMValueRef = LLVMBuildAlloca(builder, myStructTypeRef, "myStruct");
您使用LLVMGetTypeByName
函数
https://llvm.org/doxygen/group__LLVMCCoreModule.html#ga29066e749e093fba6fedb5efa0962177
尽管有标签,我实际上使用的是 llvm-sys Rust 库,但我相信 API 应该是相同的。
我正在使用 LLVM 来编译我正在创建的玩具编程语言。在我的语言的 RTS 库中,我有一个结构 MyStruct
。在发出的 LLVM 中,这变成
%struct.MyStruct = /* definition of struct */
根据文档,我不清楚我是如何获得与此结构对应的 LLVMTypeRef
的:
let myStructTypeRef: LLVMTypeRef = /* unsure how to write this code */
let myStructVariable: LLVMValueRef = LLVMBuildAlloca(builder, myStructTypeRef, "myStruct");
您使用LLVMGetTypeByName
函数
https://llvm.org/doxygen/group__LLVMCCoreModule.html#ga29066e749e093fba6fedb5efa0962177