Warum LOBSTER in CPP konvertieren?
Entwickler konvertieren Lobster-Quellcode nach .cpp, um zusätzliche Geschwindigkeit für ein Release-Build herauszuholen, da kompiliertes C++ schneller läuft als der JIT von Lobster. Das generierte C++ ist eigenständig und wird anstelle der standardmäßigen main.cpp in das normale Build-Setup von Lobster eingefügt.
Wie man LOBSTER in CPP konvertiert
Lobster (--cpp) OPEN-SOURCE
Führen Sie vom Stammverzeichnis des Repos aus bin/lobster --cpp pfad/zu/mein.lobster aus. Dies schreibt die Datei dev/compiled_lobster/src/compiled_lobster.cpp, die eine vollständige main()-Funktion enthält.
Lobster + CMake Build OPEN-SOURCE
Erstellen Sie die C++-Ausgabe automatisch mit cmake -DLOBSTER_TOCPP=ON -DCMAKE_BUILD_TYPE=Release . und dann make -j8. Dies ersetzt die generierte Datei und erzeugt eine native ausführbare Datei.
Über diese Formate
Eine .lobster-Datei enthält Quellcode, der in der Programmiersprache Lobster geschrieben wurde - einer statisch typisierten Sprache mit Python-ähnlicher Einrückung, die von Wouter van…
.LOBSTER-Details öffnen →Eine CPP-Datei ist C++-Quellcode im Klartext - die vom Menschen geschriebenen Anweisungen, die ein Compiler in ein ausführbares Programm umwandelt. Öffnen Sie sie in einem beliebigen…
.CPP-Details öffnen →Qualität & worauf zu achten ist
- Das generierte
.cppist maschinell erstellt und nicht zum Lesen oder manuellen Bearbeiten gedacht - es ist ein Zwischenprodukt des Build-Prozesses. - Sie benötigen weiterhin die Header und Build-Dateien von Lobster, um es zu kompilieren; die Datei ist kein eigenständiges Programm, das Sie einfach in ein fremdes C++-Projekt einfügen können.
- Die offiziellen Dokumente empfehlen
--cppnur für finale Builds, nicht während der Entwicklung, da der JIT-Compiler schnellere Iterationen ermöglicht.
Häufig gestellte Fragen
Wohin wird die .cpp-Datei geschrieben?
dev/compiled_lobster/src/compiled_lobster.cpp, wenn Sie --cpp vom Stammverzeichnis des Lobster-Repos aus ausführen.Kann ich das .cpp ohne das Lobster-Repo kompilieren?
main.cpp unter Verwendung des mitgelieferten Build-Setups.