- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在创建一个 LLVM 函数调用。如何将 void 指针作为参数传递给该调用。我有“_testFunc”作为我的函数,需要传递 void 指针作为参数。
llvm::Function *testFunc= m_mod->getFunction("_testFunc");
llvm::IRBuilder<> builder(instruction.getNextNode());
llvm::Value *arg = argument is void pointer
builder.CreateCall(testFunc, arg);
所以这个 arg
必须是一个空指针。
最佳答案
LLVM IR 中没有“void*”类型。请改用 i8*。
如果你想指定“void*
”的实际值,只需创建一个常量整数并转换为 i8*
(这有点复杂它确实可以,但这是唯一的方法)。
否则,如果您只想要 void*
的类型,请使用 i8*
。
关于c++ - 将空指针传递给 LLVM IRBuilder CreateCall,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46437409/
我正在创建一个 LLVM 函数调用。如何将 void 指针作为参数传递给该调用。我有“_testFunc”作为我的函数,需要传递 void 指针作为参数。 llvm::Function *testFu
我已经看到创建除法运算有多种可能性,UDiv/SDiv 和 ExactUDiv, 我推断U和S代表Unsigned和Signed的区别,但那意味着Unsigned忽略了符号? 另外,Exact 是什么
LLVM IRBuilder 函数 SetInsertPoint (Instruction *I) 指定应在指定指令之前插入创建的指令。 如何在特定指令后设置插入点?我找不到可以直接执行此操作的函数。
如何从 LLVM 调用外部 DLL 的函数?如何从 LLVM 代码调用 DLL 文件中定义的函数? 最佳答案 由于您的问题缺少重要信息,我猜您想实现以下目标。我猜您将使用 c/c++ 接口(inter
我想更新 LLVM IR 中全局变量的值。 我在 ModulePass 中创建了新的全局变量: bool runOnModule(llvm::Module &M) { IRBuilder<>
我是一名优秀的程序员,十分优秀!