2017-04-21 26 views
1

簡單的問題:「我有一個類型爲[7 x i8]的ConstantDataArray,我怎樣才能使它具有i8*類型?」在LLVM中將ConstantDataArray投射到i8 *

編輯 更多的上下文:

的ConstantDataArray創建如下:

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

而且我已經創建了一個LLVM的功能:與類型從Type::getInt8PtrTy(getGlobalContext())未來參數,並我想將這個數組轉換爲這種類型,所以我可以將它作爲參數傳遞。

我開發了一通

+0

你能否在你的問題中顯示更多的上下文,比如聲明的IR例子? –

+0

我已更新問題 – Anton

+1

由於您的問題缺少很多上下文,我不確定這是否有用,但可能['CreateGlobalStringPtr'](http://llvm.org/docs/doxygen/html /classllvm_1_1IRBuilder.html#ab81bf85457770dc76f2e536f201db219)會滿足您的需求嗎? – emlai

回答

2

您可以使用IRBuilderCreateGlobalStringPtr這是一個用於創建一個全球性的字符串常量並返回i8*指向它的第一個字符的便捷包裝器。