gpt4 book ai didi

c++ - 从 LLVM::ModuleRef 中提取 LLVM::Module

转载 作者:行者123 更新时间:2023-11-30 03:19:51 26 4
gpt4 key购买 nike

我正在尝试构建一个简单的位码阅读器(而不是专用 channel ,以便能够更轻松地进行调试)并且我在提取模块时遇到了一些问题。这是我在 main 中的内容:

LLVMModuleRef module;    
char *message = nullptr;
LLVMMemoryBufferRef memoryBuffer;

LLVMCreateMemoryBufferWithContentsOfFile(
argv[1],
&memoryBuffer,
&message);

LLVMParseBitcode2(memoryBuffer,&module);

// for (auto func:module->getFunctionList())
{
/* ... */
}

我如何从 LLVMModuleRef 中提取模块?当然,我在这里遗漏了一些微不足道的东西。

最佳答案

为什么要混合使用 C 和 C++ API?

如果你想使用 llvm::Module,我假设你正在用 C++ 编码,所以只需使用 C++ API 来解析位码:

    #include "llvm/IRReader/IRReader.h"

SMDiagnostic Err;
LLVMContext ctx;
unique_ptr<Module> M = parseIRFile(path, Err, ctx);

if (!M) {
Err.print("Error loading bitcode", errs());
}

关于c++ - 从 LLVM::ModuleRef 中提取 LLVM::Module,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53361390/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com