【发布时间】:2012-01-18 17:03:44
【问题描述】:
我有一个 llvm 位码文件,其中包含一些有用的功能。我想从c代码中调用它。是否可以将此 c 代码与 llvm 位代码链接以生成可执行文件? 或者我必须通过 JIT 调用该函数。
【问题讨论】:
我有一个 llvm 位码文件,其中包含一些有用的功能。我想从c代码中调用它。是否可以将此 c 代码与 llvm 位代码链接以生成可执行文件? 或者我必须通过 JIT 调用该函数。
【问题讨论】:
必须使 LLVM 位代码可执行才能从 C 中调用。您至少有两个选择:
llc 位码并将目标文件与您的 C 目标文件组装/链接。
【讨论】:
基本上答案是肯定的,假设您没有使用一些未提及的运行时 C 语言解释器。通常必须将 C 编译成某种东西,llvm 工具为您提供两种选择位码和目标处理器的汇编语言。 C 可以转换为位码,并且所有组件都在同一个可执行二进制文件中。您可以从那里获取所有这些部分并将它们转换为特定目标的汇编语言。
【讨论】: