การเปิดตัวเอ็นจิ้น JavaScript แบบฝัง Duktape 2.4.0

ที่ตีพิมพ์ การเปิดตัวเอ็นจิ้น JavaScript ดักเทป 2.4.0มุ่งเป้าไปที่การฝังลงในฐานโค้ดของโปรเจ็กต์ในภาษา C/C++ เครื่องยนต์มีขนาดกะทัดรัด พกพาสะดวก และใช้ทรัพยากรน้อย ซอร์สโค้ดของเครื่องยนต์เขียนด้วยภาษา C และ การแพร่กระจาย ภายใต้ใบอนุญาต MIT

รหัส Duktape ใช้พื้นที่ประมาณ 160 kB และใช้ RAM เพียง 70 kB และ RAM ในโหมดการใช้หน่วยความจำต่ำคือ 27 kB เพื่อรวม Duktape เข้ากับโค้ด C/C++ พอ เพิ่มไฟล์ duktape.c และ duktape.h ให้กับโปรเจ็กต์แล้วใช้งาน ดักเทป API เพื่อเรียกใช้ฟังก์ชัน JavaScript จากโค้ด C/C++ หรือในทางกลับกัน ในการปล่อยวัตถุที่ไม่ได้ใช้ออกจากหน่วยความจำจะใช้ตัวรวบรวมขยะพร้อมตัวสรุปซึ่งสร้างขึ้นบนพื้นฐานของการรวมกัน อัลกอริทึม การนับลิงค์ด้วยอัลกอริธึมการมาร์ก (Mark and Sweep) เอ็นจิ้นใช้ในการประมวลผล JavaScript ในเบราว์เซอร์ NetSurf.

ให้ความเข้ากันได้อย่างสมบูรณ์กับข้อกำหนด Ecmascript 5.1 และบางส่วน สนับสนุน Ecmascript 2015 และ 2016 (E6 และ E7) รวมถึงการสนับสนุนวัตถุ Proxy สำหรับการจำลองเสมือนของคุณสมบัติ, Typed Arrays, ArrayBuffer, Node.js Buffer, Encoding API, Symbol object ฯลฯ ประกอบด้วยดีบักเกอร์ในตัว เอ็นจิ้นนิพจน์ทั่วไป และระบบย่อยสำหรับการสนับสนุน Unicode นอกจากนี้ยังมีส่วนขยายเฉพาะ เช่น การรองรับ Coroutine เฟรมเวิร์กการบันทึกในตัว กลไกการโหลดโมดูลที่ใช้ CommonJS และระบบแคชโค้ดไบต์ที่ให้คุณบันทึกและโหลดฟังก์ชันที่คอมไพล์แล้ว

ในการเปิดตัวใหม่ ดำเนินการ การเรียกใหม่ไปที่ duk_to_stacktrace() และ duk_safe_to_stacktrace() เพื่อรับการติดตามสแต็ก duk_push_bare_array() เพื่อเพิ่มอินสแตนซ์อาร์เรย์อิสระ ฟังก์ชัน duk_require_constructable() และ duk_require_constructor_call() ได้รับการเผยแพร่สู่สาธารณะแล้ว ปรับปรุงความเข้ากันได้กับข้อกำหนด ES2017 การทำงานกับอาร์เรย์และออบเจ็กต์ได้รับการปรับให้เหมาะสม เพิ่มตัวเลือก “--no-auto-complete” ให้กับอินเทอร์เฟซ duk CLI เพื่อปิดการใช้งานอินพุตที่สมบูรณ์

ที่มา: opennet.ru

เพิ่มความคิดเห็น