
หน้าโครงการหลัก: https://emscripten.org
สถานะ GitHub CI:
สถานะตัวสร้างโครเมียม: emscripten-leleases
Emscripten รวบรวม C และ C ++ ไปยัง WebAssembly โดยใช้ LLVM และ Binaryen เอาต์พุต Emscripten สามารถทำงานบนเว็บใน node.js และใน wasm runtimes
Emscripten ให้การสนับสนุนเว็บสำหรับ API แบบพกพาที่ได้รับความนิยมเช่น OpenGL และ SDL2 ซึ่งช่วยให้แอพพลิเคชั่นกราฟิกพื้นเมืองที่ซับซ้อนสามารถพอร์ตได้เช่น Unity Game Engine และ Google Earth มันอาจจะพอร์ต codebase ของคุณได้เช่นกัน!
ในขณะที่ Emscripten ส่วนใหญ่มุ่งเน้นไปที่การรวบรวม C และ C ++ โดยใช้เสียงดัง แต่สามารถรวมเข้ากับคอมไพเลอร์ที่ใช้ LLVM อื่น ๆ (ตัวอย่างเช่นการเกิดสนิมมีการรวมกันของ Emscripten กับเป้าหมาย wasm32-unknown-emscripten และ asmjs-unknown-emscripten )
Emscripten มีให้บริการภายใต้ใบอนุญาต 2 ใบอนุญาต MIT และใบอนุญาตโอเพ่นซอร์สของ University of Illinois/NCSA
ทั้งสองเป็นใบอนุญาตโอเพ่นซอร์สที่อนุญาตโดยมีความแตกต่างระหว่างพวกเขาเล็กน้อย
เหตุผลในการเสนอทั้งสองอย่างคือ (1) ใบอนุญาต MIT เป็นที่รู้จักกันดีและเหมาะสำหรับคอมไพเลอร์ Toolchain ในขณะที่ (2) ใบอนุญาตดั้งเดิมของ LLVM, ใบอนุญาตโอเพ่นซอร์สของมหาวิทยาลัยอิลลินอยส์/NCSA เหตุผลที่สองมีความสำคัญน้อยลงหลังจาก Emscripten เปลี่ยนไปใช้แบ็กเอนด์ LLVM WASM ณ จุดนี้ไม่มีรหัสใด ๆ ที่เราคาดว่าจะย้ายไปมาระหว่างโครงการ นอกจากนี้ LLVM ที่เกี่ยวข้องกับ Apache 2.0 + ข้อยกเว้นในขณะเดียวกัน ในทางปฏิบัติคุณสามารถพิจารณา emscripten เป็น MIT ได้รับใบอนุญาต (ซึ่งช่วยให้คุณทำทุกอย่างที่คุณต้องการด้วยคอมไพเลอร์รวมถึงการใช้งานเชิงพาณิชย์และไม่ใช่เชิงพาณิชย์)
ดู LICENSE สำหรับเนื้อหาทั้งหมดของใบอนุญาต