LLVM元数据和外部函数错误
我编写了以下代码:LLVM元数据和外部函数错误,llvm,Llvm,我编写了以下代码: #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,
#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;
}
#包括“llvm/IR/Instructions.h”
#包括“llvm/IR/Metadata.h”
使用名称空间llvm;
int main(){
int a=0,b=0,c=0;
指示*I;
LLVMContext&C=I->getContext();
MDNode*N=MDNode::get(C,MDString::get(C,“我的md字符串内容”);
I->setMetadata(“my.md.name”,N);
如果(a>b){
c=a;
cast(I->getMetadata(“my.md.name”)->getOperator(0))->getString();
}
其他的
c=b;
返回c;
}
当我尝试使用lli
运行此代码时,它会生成以下错误:
“LLVM错误:找不到无法解析的外部函数”\uuuuuuuuuxContext4ls!”
你能帮我解决这个问题吗?我知道LIBFFI项目。不幸的是,LIBFFI在windows平台上运行时仍然存在问题。有其他解决方法吗?这里至少有两个严重问题:
I
在重定向之前未分配(这可能导致分段错误)你有没有试着通过考试?强烈推荐。我将学习本教程。非常感谢。但是你知道外部函数错误的原因吗?@ConsistentProgrammer:你需要首先提供更多的细节-用lli运行代码意味着什么?这段代码并不打算与lli一起运行。它是C++代码,应该与LLVM链接,并将其用作库。