Computerwissenschaften

Verwenden von JavaScript in Ihren C-Anwendungen für Chrome

Als Google seinen Chrome-Browser veröffentlichte, enthielt das Unternehmen eine schnelle Implementierung von JavaScript namens V8, der clientseitigen Skriptsprache. die in allen Browsern enthalten ist. Frühe Anwender von JavaScript in der Ära von Netscape 4.1 mochten die Sprache nicht, da es keine Tools zum Debuggen gab und jeder Browser unterschiedliche Implementierungen hatte und sich auch verschiedene Versionen von Netscape-Browsern unterschieden. Es war nicht angenehm, browserübergreifenden Code zu schreiben und ihn in vielen verschiedenen Browsern zu testen.

Seitdem haben Google Maps und Google Mail die gesamte Ajax- Technologie (Asynchronous JavaScript and XML. verwendet, und JavaScript hatte ein großes Comeback erlebt. Es gibt jetzt anständige Werkzeuge dafür. Googles V8. das in C ++ geschrieben ist, kompiliert und führt JavaScript-Quellcode aus, verwaltet die Speicherzuweisung für Objekte und Garbage sammelt Objekte, die nicht mehr benötigt werden. V8 ist in anderen Browsern so viel schneller als JavaScript, da es zu nativem Maschinencode kompiliert wird, nicht zu Bytecode. der interpretiert wurde.

JavaScript V8V8 ist nicht nur für die Verwendung mit Chrome geeignet. Wenn für Ihre C ++ – Anwendung Skripts erforderlich sind, damit Benutzer Code schreiben können, der zur Laufzeit ausgeführt wird, können Sie V8 in Ihre Anwendung einbetten. V8 ist eine Open-Source-Hochleistungs-JavaScript-Engine, die unter der liberalen BSD-Lizenz lizenziert ist. Google hat sogar einen Einbettungsleitfaden bereitgestellt .

Hier ist ein einfaches Beispiel, das Google bereitstellt – die klassische Hello World in JavaScript. Es ist für C ++ – Programmierer gedacht, die V8 in eine C ++ – Anwendung einbetten möchten

int main (int argc, char * argv []) { 
// Erstellt eine Zeichenfolge, die den JavaScript-Quellcode enthält. 
String source=String :: New ("'Hallo' + ', Welt'"); 
// Kompiliere es. 
Skript script=Script :: Compile (Quelle); 
// Starte es. 
Wert result=script-> Run (); 
// Konvertiere das Ergebnis in eine ASCII-Zeichenfolge und zeige es an. 
String :: AsciiValue ascii (Ergebnis); 
printf ("% s \ n", * ascii); 
return 0; 
}}

V8 wird als eigenständiges Programm ausgeführt oder kann in jede in C ++ geschriebene Anwendung eingebettet werden.

Similar Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.