なぜ LOBSTER を CPP に変換するのですか?
開発者が Lobster ソースを .cpp に変換するのは、コンパイルされた C++ が Lobster の JIT よりも高速に動作するため、リリースビルドでさらなる速度を引き出すためです。生成された C++ は自己完結型で、標準の main.cpp の代わりに Lobster の通常のビルド設定に組み込むことができます。
LOBSTER から CPP への変換方法
Lobster (--cpp) OPEN-SOURCE
リポジトリのルートから bin/lobster --cpp yourpath/my.lobster を実行します。これにより、完全な main() を含む dev/compiled_lobster/src/compiled_lobster.cpp が書き出されます。
Lobster + CMake ビルド OPEN-SOURCE
cmake -DLOBSTER_TOCPP=ON -DCMAKE_BUILD_TYPE=Release . を実行してから make -j8 を実行すると、C++ 出力が自動的にビルドされ、生成されたファイルが置換されてネイティブ実行ファイルが生成されます。
これらの形式について
.lobster ファイルは、Wouter van Oortmerssen 氏によって作成された、主にゲームやグラフィックスを目的とした Python 風のインデントを持つ静的型付け言語、Lobster プログラミング言語で書かれたソースコードを保持します。プレーンテキストであるため、任意のコードエディタで開いて読むことができ、Visual Studio Code では…
.LOBSTER の詳細を開く →CPPファイルはプレーンテキストのC++ソースコードです。これはコンパイラが実行可能なプログラムに変換するための、人間が記述した命令セットです。VS Code、Notepad++、Xcodeなどのコードエディタで開いて、コードの閲覧や編集が可能です。実行するには、まずGCC、Clang、MSVCなどでコンパイルする必要があります。ファイル単体では動作しません。
.CPP の詳細を開く →品質と注意点
- 生成された
.cppはマシンによって生成されたものであり、人間が読んだり手動で編集したりすることを意図したものではありません。これは中間ビルド成果物です。 - コンパイルには依然として Lobster 独自のヘッダーとビルドファイルが必要です。このファイルは、無関係な C++ プロジェクトにそのまま投入できるスタンドアロンプログラムではありません。
- 公式ドキュメントでは、JIT の方が反復開発が速いため、
--cppは開発中ではなく配布用ビルドにのみ使用することを推奨しています。
よくある質問
.cpp ファイルはどこに書き出されますか?
--cpp を実行すると、dev/compiled_lobster/src/compiled_lobster.cpp に書き出されます。Lobster リポジトリなしで .cpp をコンパイルできますか?
main.cpp の代わりにコンパイルします。