【问题标题】:LLVM 6.0.0 HowToUseJit example program seg faultsLLVM 6.0.0 HowToUseJit 示例程序段错误
【发布时间】:2018-07-22 14:40:41
【问题描述】:

我在 Windows 上为 x64 编译 LLVM 6.0.0 作为 DLL,并尝试运行 HowToUseJit 示例程序,但它出现了段错误。你是怎么解决的?

示例源代码: https://github.com/llvm-mirror/llvm/blob/release_60/examples/HowToUseJIT/HowToUseJIT.cpp

此行导致示例中的 seg 错误:

GenericValue gv = EE->runFunction(FooF, noargs);

【问题讨论】:

标签: llvm jit


【解决方案1】:

我认为 HowToUseJit 示例不完整。您需要进行以下更改才能使其正常工作:

添加以下包括:

#include "llvm/ExecutionEngine/MCJIT.h"

这将调用 JITting 在 LLVM 中工作所需的一些静态初始化函数。

在运行 JITted 函数之前,您还需要在 main 中添加对该函数的调用:

LLVMInitializeNativeAsmPrinter();

这个函数是为目标机器生成程序集所必需的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-31
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多