在 LLVM 中将 ConstantDataArray 转换为 i8*

Cast ConstantDataArray to i8* in LLVM

简单问题:"I have a ConstantDataArray of type [7 x i8], how can I cast it to have the i8* type?"

编辑 更多上下文:

ConstantDataArray 创建如下:

ConstantDataArray::getString(Fn->getContext(), "Hello", true);

我创建了一个 LLVM:Function,它有一个类型来自 Type::getInt8PtrTy(getGlobalContext()) 的参数,我想将数组转换为这种类型,所以我可以将它作为参数传递。

我正在开发通行证

您可以使用 IRBuilderCreateGlobalStringPtr,这是一个方便的包装器,用于创建全局字符串常量并返回指向其第一个字符的 i8*