C ++からLuaを使用するための推奨ライブラリは何ですか?[閉まっている]


13

現在、2DゲームエンジンにLuaスクリプトを統合する方法を計画しています。C++クラスとオブジェクトを公開するための最も適切なソリューションに直行したいと思います。

私はこれを読みました(あなたが助けてくれるなら):http : //lua-users.org/wiki/BindingCodeToLua

お勧めのより良いスクリプト言語がある場合は、それを選択してください; D

すべての助けを歓迎します、私は感謝の実装を開始するための最良のソリューションをピックアップする必要があります

回答:


4

スクリプト言語の主要な品質が簡単なバインディングである場合は、AngelScriptを試してください。プロキシ関数を記述する必要なく、登録された関数を直接呼び出すことができ、さまざまなコンパイラの呼び出し規約をサポートします。言語自体はc / c ++に似ていますが、c / c ++は良いか悪いかによって異なります。



4

合理的な従来のバインディングを実行している限り、LuaBindは必要なすべてを実行します。クラスと関数のバインドは、関数ごとに1行になる傾向があります。例が必要な場合は、ここにあります私はLuaBindインターフェースの開始のためのモジュール(L用(見た目)に取り組んできたゲームエンジンから該当するファイル、DontKillMeBroは<>私は私を聞かせてまで装備少しシステムがありますより正確には、特定の機密オブジェクトのオブジェクト破棄のタイミングを調整します。)

もっと複雑なものが必要な場合は、おそらく実際のLua APIを使用する必要があります。幸いなことに、Lua APIはかなり単純です。


1

PioneerにOOLuaを使用しています。Luaの「クラス」をC ++クラスにバインドするために使用するマクロの山を提供します。それはかなりの力を持っていますが、かなり簡単です。私は他のものを使用していないので、それがどのように比較されるかについてコメントすることはできません。以下に例を示します。


1

Nuclexのプリコンパイル済みライブラリを使いLuaBindのファイルをインクルードします。(VS2008で作業している場合)

LuaBindでは、いくつかのBoostライブラリとツールを使用してビルドする必要があるため、このパッケージを使用すると貴重な時間を節約できます(おそらく、頭痛の種でもあります)。自分が何をしているのかを知っていれば、1時間以内にLuaを実行できるようになると思います。

また、パフォーマンスを少し向上させたい場合は、デフォルトのLua dllをLuaJIT dllに変更することも検討してください。ライブラリをコンパイルし、メインプロジェクトでリンクしているlib / dllを置き換えるだけの問題なので、非常に簡単です。

それで、幸運を!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.