【问题标题】:LLVM: bitcode with llvm-gcc (mingw) for windowsLLVM:用于 Windows 的带有 llvm-gcc (mingw) 的位码
【发布时间】:2010-05-05 19:44:00
【问题描述】:

我目前正在构建一个小型 JIT 编译器。 对于语言,我需要一个运行时库来处理一些特殊的数学函数。 我认为最好的办法是将lib编译为位码并链接它。 编译器应集成在产品中,并且必须在windows(VC10,64位)下工作。

那么是否可以使用 mingw llvm-gcc 构建数学库,稍后使用 JITed 代码构建一个链接? 或者在 mingw 下使用 llvm-gcc 构建位码的可移植性是否有任何问题? 如果有问题,您会建议什么解决方案?

【问题讨论】:

    标签: mingw llvm llvm-gcc


    【解决方案1】:

    Bitcode 是可移植的格式(至少在相同的架构下);在 Windows 中生成的位码与在例如 Linux 或 Cygwin 中生成的位码之间没有区别。

    【讨论】:

    • 你确定吗?我在常见问题解答中读到 bitcode 不是独立于平台的。
    • 它们意味着您不能在 X86 系统上使用来自 ARM 的位码,或在 X86/32 上使用来自 X86/64 的位码(不同大小的 long/int、其他调用约定、不同的结构对齐方式等)他们还有关于包含文件不同的评论。只要你只使用标准 C 中存在的 win32 和数学函数(没有特定于 cygwin),你就可以安全了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-14
    • 1970-01-01
    • 2010-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多