Ich bin hierher gekommen, um diese Frage zu stellen, weil diese Seite mir in der Vergangenheit sehr nützlich war, sehr sachkundige Benutzer zu haben scheint, die bereit sind, eine Frage zu diskutieren, auch wenn sie manchmal metaphysisch ist. Und auch weil das googeln nicht funktioniert hat.
Java verfügt über einen Compiler und dann über eine JDT-Bibliothek, die java im laufenden Betrieb kompilieren kann (zum Beispiel in JasperReports verwendet, um eine Berichtsvorlage in Java-Code umzuwandeln).
Meine Frage: Kennt jemand eine Bibliothek / ein Projekt, die das Kompilieren als einen Satz von Bibliotheksklassen in c / c ++ anbieten würde? Zum Beispiel: eine Reihe von Klassen, um Vorverarbeitung, Parsing, CodeOptimierung und natürlich Binär-Rendering zu ausführbaren Bildern wie ELF oder Win-Format durchzuführen. Grundsätzlich etwas, das es erlauben würde, c oder c ++ - Scriptlets als Teil einer Anwendung zu kompilieren.
Ja: llvm . Insbesondere klingeln . Zumindest bewerben sie damit die Projekte. Überprüfen Sie auch diese Frage . Es könnte relevant sein, wenn Sie sich entscheiden, llvm zu verwenden.
Sie können möglicherweise etwas aus dem LLVM -Projekt an Ihre Bedürfnisse anpassen.
Sie können nur verlangen, dass ein Compiler installiert wird, dann rufen Sie ihn auf. Dies ist eine recht hohe Anforderung, aber über die einzige Möglichkeit, C oder C ++ wirklich "einzubetten". Es gibt Dolmetscher , die Sie möglicherweise einbetten können, aber das scheint derzeit eine schlechte Wahl zu sein, nicht zuletzt, weil irgendwelche Bibliotheken verwendet werden Im Skript müssen Entwicklungsversionen (dh Header und Quellen / kompilierte Bibliotheken) installiert sein, und diese Bibliotheken können auf den vom Interpreter unterstützten Funktionsumfang beschränkt sein (z. B. Qualität der Vorlagenimplementierung).
Sie verwenden besser eine Sprache wie Python oder Lua zum Einbetten.
Großartig. Es sieht so aus, als ob LLVM das ist, wonach ich gesucht habe. Vielen Dank für Ihr Feedback. Ich bin nicht in erster Linie nach C ++ als Skriptsprache. Ich habe festgestellt, dass Python als eingebettete Skript-Engine verwendet wird. Mein Hauptgrund ist zweifach:
Warum sollten Sie Ihren Code nicht nutzen, wie RTTI, der oft nicht ausreicht. Stattdessen könnte man selektiv zusätzliche Funktionen erzeugen. Entwickler müssten jedoch entscheiden, wann und wie sie diesen zusätzlichen Code verwenden können.
Tags und Links c++ compiler-construction