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)” –