Abo
  • Services:

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. Dr. August Oetker KG, Bielefeld
  2. Dataport, Verschiedene Standorte

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.

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.



Anzeige
Spiele-Angebote
  1. 32,99€
  2. (-80%) 11,99€
  3. (-80%) 10,99€
  4. (-34%) 22,99€

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...

lestard 31. Mai 2011

Naja weil Mp3 eben doch recht verbreitet ist. Wäre natürlich toll, wenn es überall nur...


Folgen Sie uns
       


Exoskelett Paexo ausprobiert

Unterstützung bei Arbeiten über Kopf bietet das Exoskelett Paexo von Ottobock. Wir haben es ausprobiert.

Exoskelett Paexo ausprobiert Video aufrufen
Raspberry Pi: Spieglein, Spieglein, werde smart!
Raspberry Pi
Spieglein, Spieglein, werde smart!

Ein Spiegel, ein ausrangierter Monitor und ein Raspberry Pi sind die grundlegenden Bauteile, mit denen man sich selbst einen Smart Mirror basteln kann. Je nach Interesse können dort dann das Wetter, Fahrpläne, Nachrichten oder auch stimmungsvolle Bilder angezeigt werden.
Eine Anleitung von Christopher Bichl

  1. IoT mit LoRa und Raspberry Pi Die DNA des Internet der Dinge
  2. Bewegungssensor auswerten Mit Wackeln programmieren lernen
  3. Raspberry Pi Cam Babycam mit wenig Aufwand selbst bauen

Begriffe, Architekturen, Produkte: Große Datenmengen in Echtzeit analysieren
Begriffe, Architekturen, Produkte
Große Datenmengen in Echtzeit analysieren

Wer sich auch nur oberflächlich mit Big-Data und Echtzeit-Analyse beschäftigt, stößt schnell auf Begriffe und Lösungen, die sich nicht sofort erschließen. Warum brauche ich eine Nachrichten-Queue und was unterscheidet Apache Hadoop von Kafka? Welche Rolle spielt das in einer Kappa-Architektur?
Von George Anadiotis


    Tesla: Kleiner Gewinn, ungewisse Zukunft
    Tesla
    Kleiner Gewinn, ungewisse Zukunft

    Tesla erzielt im vierten Quartal 2018 einen kleinen Gewinn. Doch mit Entlassungen, Schuldenberg, Preisanhebungen beim Laden, Wegfall des Empfehlungsprogramms und zunehmendem Wettbewerb durch andere Hersteller sieht die Zukunft des Elektroauto-Herstellers durchwachsen aus.
    Eine Analyse von Dirk Kunde

    1. Tesla Model 3 Tesla macht alle Varianten des Model 3 günstiger
    2. Kundenprotest Tesla senkt Supercharger-Preise wieder
    3. Stromladetankstellen Tesla erhöht Supercharger-Preise drastisch

      •  /