libgccjit 是一個(gè)實(shí)現(xiàn) GCC JIT 編譯的嵌入式庫,它可以動(dòng)態(tài)鏈接到字節(jié)碼解釋器和其它程序中,在運(yùn)行時(shí)生成本機(jī)代碼。

目前 GCC 開發(fā)者實(shí)驗(yàn)性地將 libgccjit 移植到了 Windows,并提交了 patch。
開發(fā)者已經(jīng)在 Emacs 的本地編譯分支環(huán)境下測(cè)試通過,相信它可以很好地運(yùn)行在 Windows。不過他也表示,過程中 libtool 與 Automake 存在一些差異,比如因?yàn)闊o法通過 libgccjit 創(chuàng)建 dll,并將其放在正確的目錄中,所以不得不將 lib/libgccjit.so 復(fù)制到 bin/libgccjit.dll 中。同時(shí)經(jīng)過他的測(cè)試,在 Windows 中也不必使用 –enable-host-shared。
GCC 代碼庫使用的是具有“傳染性”的 GPLv3 許可,因此就算 libgccjit 移植到 Windows,那預(yù)估也不會(huì)有多少基于 Windows 的程序使用,因?yàn)橛斜仨殞⑿鲁绦蛞查_源的要求。不過這一移植經(jīng)驗(yàn)至少能夠讓一些跨平臺(tái)的開源程序看到 Windows 上能夠這樣支持 GCC JIT 的可能性。
從郵件列表來看,目前該 patch 還處于審核階段,能否合并進(jìn)入 GCC 11 還需要觀測(cè),具體情況可以查看:https://gcc.gnu.org/pipermail/gcc-patches/2020-May/546384.html
特別提醒:本網(wǎng)內(nèi)容轉(zhuǎn)載自其他媒體,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。本站不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。如若本網(wǎng)有任何內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系我們,本站將會(huì)在24小時(shí)內(nèi)處理完畢。