现在我使用clang将我的.c文件构建到.s文件中.而且我已经使用llvm API修改了IR.但是,现在我无法将修改后的IR保存到文件中.我想使用"LLVMWriteBitcodeToFile",但我找不到"LLVMOpaqueModule"的结构; 我想使用"WriteBitcodeToFile",它总是显示"类型不匹配".我还想知道如何将IR文件构建到可执行文件.
接下来是我用来保存模块的两种方法:
1,首先使用WriteBitcodeToFile
bool unbuffered = false;
llvm::raw_ostream ro(unbuffered);
WriteBitcodeToFile(m, ro);
Run Code Online (Sandbox Code Playgroud)
2,二次使用LLVMWriteBitcodeToFile
const char *Path = "hello2.s";
int ans = LLVMWriteBitcodeToFile(m, Path);
Run Code Online (Sandbox Code Playgroud)
注意:m是Module实例的一个点