开发者将GCC的JIT库移植到微软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上能够这样支持GCCJIT的可能性。
从邮件列表来看,目前该patch还处于审核阶段,能否合并进入GCC11还需要观测,具体情况可以查看:https://gcc.yuhou.cn/pipermail/gcc-patches/2020-May/546384.html