LLVM

Emscripten macht C und C++ zu Javascript

Der Compiler Emscripten wandelt von LLVM erzeugten Bytecode in Javascript. In C und C++ geschriebener Code lässt sich so in Javascript übersetzen und im Browser ausführen. Eine Demo zeigt beispielsweise Doom im Browser.

Artikel veröffentlicht am ,
Bullet-Demo übersetzt mit Emscripten
Bullet-Demo übersetzt mit Emscripten (Bild: Syntensity)

Mit Emscripten lässt sich von LLVM erzeugter Bytecode in Javascript umwandeln. So lässt sich praktisch Code in jeder von LLVM erzeugten Sprache in Javascript umwandeln und im Browser beziehungsweise überall, wo Javascript läuft, ausführen. Ziel des Projektes ist es, Code im Web auszuführen, ganz gleich, in welcher Sprache dieser geschrieben ist.

Stellenmarkt
  1. Backend Developer* (m/w/d)
    EDAG Engineering GmbH, verschiedene Standorte
  2. IT-Betreuer / Benutzerunterstützung (m/w/d)
    Zweckverband Verkehrsverbund Großraum Ingolstadt, VGI, Ingolstadt
Detailsuche

Dabei wird C/C++-Code in LLVM-Bytecode übersetzt, der anschließend von Emscripten in Javascript umgewandelt wird. Andere Sprachen werden indirekt unterstützt. So kann beispielsweise die in C/C++ geschriebene Runtimes von Python und Lua in Javascript übersetzt und anschließend Python und Lua im Browser ausgeführt werden.

Derzeit kann Emscripten große Teile von C und C++ umwandeln, einschließlich großer Projekte wie CPython, Poppler und Bullet, erklären die Entwickler in einer FAQ. Sie gehen dennoch davon aus, dass Emscripten noch viele Fehler hat und es zu Problemen bei der Übersetzung beliebigen Codes kommen kann.

Was mit Emscripten schon geht, zeigen einige Demos, darunter Umsetzungen von Doom, Python, der Physikengine Bullets und Schriftrendering mit Freetype.

Golem Karrierewelt
  1. CEH Certified Ethical Hacker v11: virtueller Fünf-Tage-Workshop
    05.-09.09.2022, Virtuell
  2. DP-203 Data Engineering on Microsoft Azure: virtueller Vier-Tage-Workshop
    12.-15.09.2022, virtuell
Weitere IT-Trainings

Der mit Emscripten generierte Code ist rund 90 Prozent langsamer als mit "gcc -O3" generierter Code. Das sei nicht gut, aber auch nicht so schlecht, kommentieren die Entwickler und verweisen auf die zu erwartende Optimierung bei LLVM, Javascript-Optimierer wie den Closure Compiler und die schneller werdenden Javascript-Engines.

Emscripten selbst ist in Javascript geschrieben, steht unter der MIT-Lizenz und kann bei Github heruntergeladen werden.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


unsigned_double 01. Jun 2011

Ohgott, hoffentlich funktioniert das niemals ... Scriptkiddies sollten NIEMALS in der...

Baron Münchhausen. 01. Jun 2011

Wenn der c/c++ Code normal kompiliert wird, dann würde das Programm von der nicht mehr so...

tilmank 01. Jun 2011

Nicht unbedingt. Wenn alte Spiele nicht mehr laufen, liegt das meistens an den nicht...

Sinnfrei 31. Mai 2011

Umso erstaunlicher, dass man bei solchen Ähnlichkeiten als Autor keine Artikelverlinkung...



Aktuell auf der Startseite von Golem.de
James Webb Space Telescope
Das Weltraumteleskop wird mit Javascript betrieben

Die in der Raumfahrt verwendete Software ist manchmal kurios. Im Fall des JWST wird das ISIM mit Javascript kontrolliert und betrieben.

James Webb Space Telescope: Das Weltraumteleskop wird mit Javascript betrieben
Artikel
  1. Betrug: Wenn die Phishing-Mail wirklich von Paypal kommt
    Betrug
    Wenn die Phishing-Mail wirklich von Paypal kommt

    Die E-Mail stammt von Paypals Servern und weist auf eine unter Paypal.com einsehbare Transaktion hin. Doch hinter E-Mail und Hotline stecken Betrüger.

  2. ADAC-Test: Elektroautos als Zugmaschinen - was bringt's?
    ADAC-Test
    Elektroautos als Zugmaschinen - was bringt's?

    Der ADAC hat den Stromverbrauch von Elektroautos mit Anhängern und Fahrradgepäckträgern gemessen. Gute Noten gibt es dabei keine.

  3. Botnetz: Google blockiert Rekord-DDoS-Angriff
    Botnetz
    Google blockiert Rekord-DDoS-Angriff

    Für einen Kunden konnte Google den größten HTTPS-basierten DDoS-Angriff mit 46 Millionen Anfragen pro Sekunde abwehren.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • MindStar (MSI RTX 3090 Gaming 1.269€, Seagate Festplatte ext. 18 TB 295€) • PS5-Deals (Uncharted Legacy of Thieves 15,38€, Horzizon FW 39,99€) • HP HyperX Gaming-Maus -51% • Alternate (Kingston Fury DDR5-6000 32GB 219,90€ statt 246€) • Samsung Galaxy S22+ 5G 128 GB 839,99€ [Werbung]
    •  /