Frage

Gibt es eine Möglichkeit Ebene C-Code auf der JVM zu laufen?
Nicht über JNI verbinden, laufen, wie du Ruby-Code über JRuby ausführen können, oder Javascript über Rhino.

Wenn es keine aktuelle Lösung ist, was würden Sie empfehlen soll ich tun?
Offensichtlich möchte ich so viele partials Lösungen verwenden, wie ich kann, um sie geschehen.

ANTLR scheint wie ein guter Anfang, eine vollständige „ANSI C“ Grammatik Umsetzung mit ...
sollte ich ein „Spielzeug“ VM über die JVM mit ANTLR Code generiert bauen?

War es hilfreich?

Lösung

Aktualisiert 2012-01-26: Nach dieser Seite auf der Website des Unternehmens das Produkt wurde aufgekauft und ist nicht mehr verfügbar.

Ja.

Hier ist ein kommerzieller C-Compiler, die JVM-Bytecode produziert.

Andere Tipps

Es gibt zwei weitere Möglichkeiten, sowohl Open-Source:

JPC einen gesamten x86-PC innerhalb der JVM emuliert, und ist in der Lage zu laufen DOS und Linux .

NestedVM bietet Binärübersetzung für Java Bytecode. Dies geschieht, indem mit GCC zu einem MIPS binären kompilieren, die dann auf eine Java-Klassendatei übersetzt wird. Daher jede Anwendung geschrieben in C, C ++, Fortran, oder jeder anderen Sprache, die von GCC unterstützt werden, kann ohne Änderungen Quelle in 100% pure Java ausgeführt werden.

Vielleicht nicht genau das, was Sie brauchen, sondern eine kommerzielle Option ist http://www.axiomsol.com/

Es scheint, dass LLJVM können auch Ihre Anforderung erfüllen.

LLJVM: Quellcode wird zunächst wie llvm-gcc oder Klappern von einem Frontend LLVM Zwischendarstellung (IR) zusammengestellt. LLVM IR wird dann an Jasmin Assembler-Code übersetzt, verknüpft gegen andere Java-Klassen und dann auf JVM-Bytecode zusammengesetzt.

Ab 2016 gibt es eine junge, aber vielversprechende Option namens GCC brücken . Seine Absicht ist die JVM-Implementierung von R. zu nutzen Ziel ist R-Bibliotheken in C oder Fortran geschrieben zu verwenden. Aber gcc-Brücke kann unabhängig als reguläres Maven Plugin verwendet werden. Siehe auch das gcc-brigde-Beispiel .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top