0
我寫了下面的代碼: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, "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錯誤:無法找到外部函數'___ZXXcONTEXT4LS'無法解析!「
你能幫我解決這個問題嗎?我瞭解LIBFFI項目。不幸的是,LIBFFI在windows平臺上運行仍然存在問題。還有其他解決方案嗎?
我會去通過本教程。謝謝。但是你知道外部功能錯誤的原因嗎? – ConsistentProgrammer
@ConsistentProgrammer:您需要首先提供更多細節 - 這意味着您使用lli運行該代碼是什麼意思?該代碼並不意味着與lli一起運行。這是C++代碼,應該與LLVM鏈接並將其用作庫。 –