【问题标题】:Is it possible to link c code with llvm bitcode?是否可以将 c 代码与 llvm 位代码链接起来?
【发布时间】:2012-01-18 17:03:44
【问题描述】:

我有一个 llvm 位码文件,其中包含一些有用的功能。我想从c代码中调用它。是否可以将此 c 代码与 llvm 位代码链接以生成可执行文件? 或者我必须通过 JIT 调用该函数。

【问题讨论】:

    标签: llvm jit


    【解决方案1】:

    必须使 LLVM 位代码可执行才能从 C 中调用。您至少有两个选择:

    1. 在调用之前 JIT 编译位码。
    2. llc 位码并将目标文件与您的 C 目标文件组装/链接。

      1. 可能更容易做到。

    【讨论】:

      【解决方案2】:

      基本上答案是肯定的,假设您没有使用一些未提及的运行时 C 语言解释器。通常必须将 C 编译成某种东西,llvm 工具为您提供两种选择位码和目标处理器的汇编语言。 C 可以转换为位码,并且所有组件都在同一个可执行二进制文件中。您可以从那里获取所有这些部分并将它们转换为特定目标的汇编语言。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-09-29
        • 1970-01-01
        • 1970-01-01
        • 2011-02-17
        • 1970-01-01
        • 1970-01-01
        • 2011-04-05
        • 1970-01-01
        相关资源
        最近更新 更多