我写了以下代码:
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Metadata.h"
using namespace llvm;
int main() {
int a=0,b=0,c=0;
Instruction *I;
LLVMContext& C = I->getContext();
MDNode* N = MDNode::get(C, MDString::get(C, "my md string content"));
I->setMetadata("my.md.name", N);
if(a>b){
c=a;
cast<MDString>(I->getMetadata("my.md.name")->getOperand(0))->getString();
}
else
c=b;
return c;
}
当我尝试使用lli
运行此代码时,会生成以下错误:
“LLVM ERROR:无法找到无法解析的外部函数'___ZXXcONTEXT4LS!”
你可以帮我解决这个问题吗?我知道LIBFFI项目。不幸的是,LIBFFI在Windows平台上运行时仍有问题。还有其他解决办法吗?答案 0 :(得分:1)
这里至少有两个严重的问题:
I
(这可能会导致分段错误)。lli
应该用于解释/ JIT LLVM IR。你上面展示的可能是一个必须与LLVM链接的C ++程序,这些是完全不同的东西。您是否尝试通过LLVM tutorial?强烈推荐。