libgccjit 是一個實現 GCC JIT 編譯的嵌入式庫,它可以動態連結到位元組碼直譯器和其它程式中,在執行時生成本機程式碼。
目前 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
[admin
]