在 LLVM 中将 ConstantDataArray 转换为 i8*

Ant*_*ton 3 c++ llvm

简单的问题:“我有一个类型为 ConstantDataArray 的 ConstantDataArray [7 x i8],如何将其转换为具有该i8*类型?”

编辑 更多上下文:

ConstantDataArray 创建如下:

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

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

我正在开发通行证

eml*_*lai 5

您可以使用IRBuilder's CreateGlobalStringPtr,它是一个方便的包装器,用于创建全局字符串常量并返回i8*指向其第一个字符的指针。