7

C++ ゲームに埋め込むための、高速で、C に似た構文で、埋め込み簡単で、ラップが簡単なスクリプト言語を必死に探しています。

これまでのところ、私は試しました:

  • Lua : 動作しますが、グローバル C++ 関数をラップするのは面倒で、オブジェクトをラップするのはさらに困難です。また、Lua の構文が大嫌いです。
  • AngelScript : 機能しませんでした。最初の例はコンパイルされず、最初に多くのアドオンを作成する必要があるため、初心者向けのドキュメントは不適切です。C++ オブジェクトと関数のラップは Lua よりも簡単に見えますが、それでもよりクリーンになる可能性があります。構文は問題ないようです。
  • ChaiScript : 機能しませんでした。非gitバージョンとgit C++ 11バージョンの両方で多くのエラーが発生しました。プロジェクトの依存関係としてブーストを導入したくないため、ブーストバージョンを使用したくありません。ラッピングは簡単に見え、構文は問題ありません。

私も調査しました:

  • Pike : 構文は良さそうですが、埋め込みに関するドキュメントは見つかりませんでした。
  • Squirrel : 構文が好きではありません。また、埋め込み/ラッピングは Lua と同じくらい煩わしく、スタックを処理する必要があります。

そう:

  • 高速で、C に似た構文で、埋め込み簡単で、ラップしやすい代替手段はありますか?
  • ない場合 - スクリプト言語の作成に関する最適な学習リソースは何ですか? 私は車輪の再発明が好きで、これは興味深い学習体験になる可能性があります。
4

8 に答える 8

4

C ライクな構文の場合は、チェックアウトします

  • Ch商用の埋め込み可能な C インタープリター
  • オープンソースの C/C++ インタープリターであるCINT
  • Pawn - 「C に似た構文を持つ単純で型のない 32 ビット拡張言語」

おそらくあなたのためではありませんが、この質問は他の人が興味深いと思う代替案のリストを提示する可能性があるため、Javascript のような構文を提供するQtScriptを提供します。ラッピングは簡単ですが、それを行うには Qt フレームワーク、特にシグナルとスロットの概念を採用する必要があります。

Firefox の JS エンジンであるSpiderMonkeyもあります。

于 2013-07-16T08:38:55.177 に答える
2

Clingなどを介して C++ を使用できます。

使い慣れた構文が得られ、静的 C++ プログラムと簡単に統合できます。

Qt + Cling、LLVM ベースの C++ インタープリター (2:05)

于 2013-07-16T16:30:41.343 に答える
1

私はPythonをスクリプト言語として使用して出向し、以前は自分のプログラム(ゲームではない)でboost pythonを使用していましたが、それに非常に満足しています。独自のスクリプトを作成してみたい場合は、ブーストスピリットを試してみてください。

于 2013-07-16T10:02:08.980 に答える
0

Python を見ることを検討するかもしれません: http://www.codeproject.com/Articles/14192/Embedding-Python-In-Your-C-Application

于 2013-07-16T08:39:30.420 に答える