Я хочу вставить "mallo c" в целевой код с помощью прохода llvm.
Для этого мои коды указаны ниже.
allocated = new GlobalVariable(module,
Type::getInt64PtrTy(*ctx),
false,
GlobalValue::CommonLinkage,
0,
"main_func_address"
);
Function* mainFunction = module.getFunction("main");
BasicBlock& mbb = mainFunction->getEntryBlock();
IRBuilder<> IRB(dyn_cast<Instruction>(mbb.getFirstInsertionPt()));
std::vector<Value*> malloc_arg;
Value* size_malloc = ConstantInt::get(Type::getInt32Ty(*ctx), 1);
errs()<<"Create Call\n";
IRB.CreateCall(mallocFunc, size_malloc);
errs()<<"Create Store\n";
IRB.CreateStore(size_malloc, allocated);
Произошла ошибка в "IRB.CreateStore". Сообщение об ошибке: «void llvm :: StoreInst :: AssertOK (): Утверждение` getOperand (0) -> getType () == cast (getOperand (1) -> getType ()) -> getElementType () && "Ptr должно быть указатель на тип Val! " Как я могу это сделать?