Veröffentlichung des eingebetteten JavaScript-Engines Duktape 2.4.0

Veröffentlicht Veröffentlichung des JavaScript-Engines Duktape 2.4.0, die auf die Integration in Codebasen von C/C++-Projekten ausgerichtet ist. Die Engine zeichnet sich durch ihre kompakte Größe, hohe Portabilität und geringen Ressourcenverbrauch aus. Der Quellcode der Engine ist in C geschrieben und unter der freien Lizenz Apache 2.0 verbreitet. unterliegt der MIT-Lizenz.

Der Duktape-Code benötigt etwa 160 kB und verbraucht nur 70 kB RAM, im Modus für geringen Speicherverbrauch sind es 27 kB RAM. Um Duktape in C/C++-Code zu integrieren, ausreichend fügen Sie die Dateien duktape.c und duktape.h in das Projekt ein und verwenden Sie Duktape API zum Aufrufen von JavaScript-Funktionen aus C/C++-Code oder umgekehrt. Ein Abfallsammler mit Finalizer, der auf einer Kombination von Algorithmus Referenzzählung mit dem Mark-and-Sweep-Algorithmus basiert, wird verwendet, um nicht mehr benötigte Objekte aus dem Speicher freizugeben. Die Engine wird zur Verarbeitung von JavaScript im Browser NetSurf.

vollständige Kompatibilität mit den Spezifikationen von Ecmascript 5.1 und partielle Unterstützung für unterstützt Ecmascript 2015 und 2016 (E6 und E7), einschließlich der Unterstützung des Proxy-Objekts zur Virtualisierung von Eigenschaften, typisierten Arrays, ArrayBuffer, Node.js Buffer, Encoding API, Symbol-Objekt usw. Es enthält einen eingebauten Debugger, eine Engine zum Ausführen von regulären Ausdrücken und ein Subsystem zur Unterstützung von Unicode. Außerdem werden spezifische Erweiterungen bereitgestellt, wie die Unterstützung von Koroutinen, ein eingebautes Protokollierungsframework, ein Modul-Lade-Mechanismus basierend auf CommonJS und ein Bytecode-Cache-System, das die Speicherung und das Laden kompilierter Funktionen ermöglicht.

In der neuen Version umgesetzt neue Aufrufe duk_to_stacktrace() und duk_safe_to_stacktrace() zur Erfassung von Stack-Traces, duk_push_bare_array() zum Hinzufügen unabhängiger Array-Instanzen. Die Funktionen duk_require_constructable() und duk_require_constructor_call() wurden öffentlich übersetzt. Die Kompatibilität mit der ES2017-Spezifikation wurde verbessert. Die Leistung bei der Arbeit mit Arrays und Objekten wurde optimiert. Im CLI-Interface von duk wurde die Option „—no-auto-complete“ hinzugefügt, um die automatische Vervollständigung der Eingabe zu deaktivieren.

Quelle: opennet.ru

60GB SSD 8Gb DDR4