*バインダを使わない決断も重要 [#v2d92671]
-グローバル変数の読み書き、グローバル関数登録、グローバル関数実行程度なのであれば、~
バインダを使わない決断をした方が良いと思います。~
~
そして、開発状況に合わせて、「C++ ⇔ Lua」間で良く行うやり取り、~
に関するところだけ自分でラッピングするのが良いでしょう。~
一般的には
-- C++側から、指定のLua ファイルの読込 & 実行
-- C++側から、指定のLua文字列の実行
-- C++側から、数値タイプのLuaグローバルの変数の取得
-- C++側から、文字列タイプのLuaグローバルの変数の取得
-- C++側からの関数登録については、int xxx(lua_State* L) { ・・・ } でカリカリ記述

特に「tolua++」「SWIG」などによるバインダは、その開発工程において~
通常のC++開発工程からはズレた特殊な工程が入り込んできますので、
ソースの見た目は良くとも、開発工程全体として良くなっているかは疑問符が付きます。
~
又、「luaBind」にはboostが必要となりますので、~
「boostをプロジェクトに入れられない/入れたくはない(そのようなことは非常に多い)」

--Luaの変数取得や関数登録は、ステートの空間である「lua_State *L」と、~
スタックとのやり取りという非常に単純なものです。~


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS