2
我正在創建LLVM函數調用。如何將void指針作爲參數傳遞給該調用。我有「_testFunc」作爲我的函數,並需要傳遞void指針作爲參數。將void指針傳遞給LLVM IRBuilder CreateCall
llvm::Function *testFunc= m_mod->getFunction("_testFunc");
llvm::IRBuilder<> builder(instruction.getNextNode());
llvm::Value *arg = argument is void pointer
builder.CreateCall(testFunc, arg);
所以這個arg
必須是一個void指針。
我只想要一個類型爲void *。我是llvm的新手,你能幫我解答一下CreateCall()的參數嗎? – st91
你想傳遞一個void *值,或者在函數聲明中使用void *的類型。我很困惑你在問什麼。 –
如果要爲變量類型或參數類型指定類型void *,請使用i8 *。所有指針在內存中的大小相同,因此當程序實際執行時,i8 *相當於void *。在實際的代碼中,類型將被表示爲「llvm :: Type :: getInt8PtrTy(llvm_context)」 –