Gömülü JavaScript motorunun Duktape 2.4.0 sürümü

yayınlanan JavaScript motor sürümü Duktape 2.4.0, C/C++ dilindeki projelerin kod tabanına yerleştirmeyi amaçlıyordu. Motor kompakt boyuttadır, son derece portatiftir ve düşük kaynak tüketimine sahiptir. Motorun kaynak kodu C dilinde yazılmıştır ve yayılmış MIT lisansı altında.

Duktape kodu yaklaşık 160 kB yer kaplar ve yalnızca 70 kB RAM tüketir ve düşük bellek tüketimi modunda 27 kB RAM tüketir. Duktape'i C/C++ koduna entegre etmek için yeterli duktape.c ve duktape.h dosyalarını projeye ekleyin ve kullanın Duktape API'si JavaScript işlevlerini C/C++ kodundan çağırmak veya tam tersi. Kullanılmayan nesneleri bellekten kurtarmak için, bir kombinasyon temelinde oluşturulmuş sonlandırıcılı bir çöp toplayıcı kullanılır. algoritma işaretleme algoritması ile bağlantı sayımı (Mark and Sweep). Motor, tarayıcıdaki JavaScript'i işlemek için kullanılır NetSurf.

Ecmascript 5.1 spesifikasyonlarıyla tam uyumluluk ve kısmi uyumluluk sağlar destek Ecmascript 2015 ve 2016 (E6 ve E7), özellik sanallaştırma için Proxy nesnesi desteği, Yazılan Diziler, ArrayBuffer, Node.js Buffer, Kodlama API'si, Sembol nesnesi vb. dahil. Yerleşik bir hata ayıklayıcı, düzenli ifade motoru ve Unicode desteği için bir alt sistem içerir. Eşyordam desteği, yerleşik bir günlük kaydı çerçevesi, CommonJS tabanlı modül yükleme mekanizması ve derlenmiş işlevleri kaydetmenize ve yüklemenize olanak tanıyan bir bayt kodu önbelleğe alma sistemi gibi belirli uzantılar da sağlanır.

Yeni sürümde uygulandı yığın izlemeleri almak için duk_to_stacktrace() ve duk_safe_to_stacktrace()'a, bağımsız dizi örnekleri eklemek için duk_push_bare_array()'a yeni çağrılar. Duk_require_constructable() ve duk_require_constructor_call() işlevleri genel kullanıma sunuldu. ES2017 spesifikasyonuyla geliştirilmiş uyumluluk. Diziler ve nesnelerle çalışma optimize edildi. Giriş tamamlamayı devre dışı bırakmak için duk CLI arayüzüne "--no-auto-complete" seçeneği eklendi.

Kaynak: opennet.ru

Yorum ekle