C im Web

Emscripten konvertiert C/C++-Code nach JavaScript

Wissen | Know-how

Viel vom dem reichlich „da draußen“ vorhandenen C/C++-Code wäre auch im Web nützlich. Aber ihn nach JavaScript zu portieren, käme einer Neuentwicklung gleich – mit entsprechend hohem Aufwand. Mit der Tool-Sammlung Emscripten gelingt die Konvertierung nahezu automatisch.

Das Schöne an Web-Anwendungen ist, dass sie ohne Änderungen auf verschiedenen Plattformen laufen, sei es unter Windows, Mac OS X, Linux, iOS oder Android. Doch nicht jeder Entwickler kennt sich mit JavaScript aus und möchte deshalb lieber in seiner Stammsprache programmieren.

Emscripten schlägt die Brücke zwischen den beiden Welten. Dazu bedient es sich LLVM (siehe Kasten). Die Compiler-Infrastruktur optimiert den Zwischencode, wie ihn Compiler-Front-Ends aus C-, C++- oder anderem Code generieren. Emscripten erzeugt daraus direkt JavaScript. ...

LLVM und Clang

Das früher als Low Level Virtual Machine geführte LLVM bezeichnet eine Compiler-Infrastruktur, die sich über Frontends für C, C++, Objective-C, Fortran und weitere Sprachen mit Zwischencode füttern lässt und eine optimierte Form davon ausspuckt. Die Optimierung findet zur Compile-, Link-, Laufzeit statt. Für Letzteres bringt LLVM eine virtuelle Maschine mit, in der der generierte Code ausgeführt und währenddessen sein Verhalten analysiert wird, also noch bevor der endgültige Maschinencode entsteht. Das unterscheidet LLVM von der anderen Compilern typischen Vorgehensweise, bei der erst verschiedene Varianten des Maschinencode erzeugt und instrumentiert werden, um sie auf der realen CPU zu evaluieren.

Am engsten verknüpft mit LLVM ist das Frontend Clang, das über kurz oder lang die GNU Compiler Collection ersetzen soll.

Sie möchten wissen, wie es weitergeht?

C im Web

1,49 €*

c't 05/2013, Seite 182 (ca. 2 redaktionelle Seiten)
Direkt nach dem Kauf steht Ihnen der Artikel als PDF zum Download zur Verfügung.

Artikel-Vorschau
  1. Das braucht man
  2. Regeln beachten
  3. Nur C ist gut
  4. Epilog
  5. LLVM und Clang

Lesen Sie hier die Verbraucherinformationen

* Alle Preise verstehen sich inklusive der gesetzlichen MwSt.

Als c't-Plus-Abonnent gratis lesen

weiterführende Links

Anzeige