gpt4 book ai didi

c - LLVM C API。如何确定 LLVMValueRef 是整数类型还是指针类型?

转载 作者:行者123 更新时间:2023-12-04 10:33:23 26 4
gpt4 key购买 nike

我正在使用 LLVM C api 编写一些 C 代码。我需要检查指令值是 int 类型还是指针。我尝试做的是使用 LLVMTypeOf(LLVMValueRef val) 并查看它是否等于所有不同类型的 int:LLVMInt1Type()LLVMInt8Type()LLVMInt16Type() 等。我不知道如何确定它是否是指针类型,但我认为我的方法是用于查看它是否为整数也不起作用。

这是我一直引用的 API: http://llvm.org/doxygen/modules.html

最佳答案

在 c 中,您可以使用 LLVMGetTypeKind 和 LLVMTypeOf 来确定它是什么类型。

对于整数类型,您可以检查:

if(LLVMGetTypeKind(LLVMTypeOf(LLVMValueRef val))==LLVMIntegerTypeKind)

对于指针类型,您可以检查:

if(LLVMGetTypeKind(LLVMTypeOf(LLVMValueRef val))==LLVMPointerTypeKind)

枚举引用:LLVMTypeKind

关于c - LLVM C API。如何确定 LLVMValueRef 是整数类型还是指针类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13455155/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com