开发者将 GCC 的 JIT 库移植到 Windows

  • 来源:网络
  • 更新日期:2020-05-26

摘要:libgccjit 是一个实现 GCCJIT 编译的嵌入式库,它可以动态链接到字节码解释器和其它程序中,在运行时生成本机代码。目前 GCC 开发者实验性地将 libgccjit 移植到了 Windows,并提

libgccjit 是一个实现 GCCJIT 编译的嵌入式库,它可以动态链接到字节码解释器和其它程序中,在运行时生成本机代码。目前 GCC 开发者实验性地将 libgccjit 移植到了 Windows,并提交了 patch。

开发者已经在Emacs 的本地编译分支环境下测试通过,相信它可以很好地运行在Windows。不过他也表示,过程中 libtool 与 Automake 存在一些差异,比如因为无法通过 libgccjit 创建 dll,并将其放在正确的目录中,所以不得不将 lib/libgccjit.so 复制到 bin/libgccjit.dll 中。同时经过他的测试,在 Windows 中也不必使用 --enable-host-shared。

GCC 代码库使用的是具有“传染性”的GPLv3 许可,因此就算 libgccjit 移植到 Windows,那预估也不会有多少基于 Windows 的程序使用,因为有必须将新程序也开源的要求。不过这一移植经验至少能够让一些跨平台的开源程序看到Windows 上能够这样支持 GCC JIT 的可能性。

从邮件列表来看,目前该 patch 还处于审核阶段,能否合并进入 GCC 11 还需要观测,具体情况可以查看:https://gcc.gnu.org/pipermail/gcc-patches/2020-May/546384.html