用于 Web 的 C++ 編譯器:Duetto
Duetto通過允許編程人員做如下的事情,來組合emscripten和node.js的優勢:
- 用C++編寫web應用,重用現有的代碼,并且使得移植到瀏覽器的應用和游戲看起來和原生應用一樣;
- 用同一種語言和代碼庫編寫web應用的前端和后端
另外,duetto提供一些非常好的特性:
- 為web帶來C++編程的魯棒性和經過驗證的可擴展性
- 你可以直接調用所有瀏覽器的APIs。Duetto繼承了C++暴露平臺能力(以及限制)給用戶的理念。不存在任何的中介;
- Duetto是基于LLVM/clang的。工業標準的C++編譯器是程序員最好的朋友:代碼合理性在編譯時被檢查,其中包括RPC(遠程過程調用)簽名;
- LLVM工具鏈同樣保證了在編譯時運行了一堆令人興奮的優化,從而產生高效率的代碼。這會降低JavaScript的JIT編譯器在運行時的負擔;
- 與emscripten,我們沒有嘗試用類型化數組去模擬一個傳統的地址空間,而是直接將C++的對象映射到JS對象。這降低了內存開銷,因為垃圾回收器可以刪除沒有被使用的對象。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!