所以我试图将通过调用指令调用的函数名称发送到外部函数作为字符串。所以我的外部函数的声明是:void func(string s);
在我的LLVM传递中,我试图将值传递给参数s
。我坚持使用func
添加getOrInsertFunction
的函数声明,这是一段代码片段:
Function * func;
Constant * funcDec = M.getOrInsertFunction("func", Type::getVoidTy(M.getContext)), ???);
我对于代替???
的内容感到困惑。例如,如果参数为Type::getInt32Ty(M.getContext())
,则使用int
。我知道LLVM没有string
。那么如何才能将字符串传递给外部函数呢?
谢谢!