Lua メモ

6年ぶりくらいにLuaを触る。
ほぼすべてを忘れているのでメモ。

・Luaを落とす。現在は5.2が最新
 http://www.lua.org/download.html

・LuaをPコード(バイナリ)化
 VS2010Expressでコンソール->空プロジェクトを作成して落としたLuaソースを入れてLuaをビルド.(ただし、lua.cをビルド対象から外す)
luac.cがコンパイル用のメイン関数になっている.

 ・Luaのビルド。これでPコードにする
  luac -o test.luab test.lua
  ちなみに-sを入れれば、デバッグ情報を取ることができる。

・Luaの実行
・Luaファイル(test.lua)
function initialize()
  print("Hello World Lua!!")
end
・組み込み先
int status, result;
lua_State *L = luaL_newstate();  /* create state */
luaL_openlibs(L);
luaL_dofile(L,"c:/test.lub");
lua_getglobal(L, "initialize");
if( lua_pcall(L, 0, 1, 0) != 0 )
{
    printf("関数呼び出し失敗\n");
}

・バインディング 
 ・tolua++
  DL:http://www.codenix.com/~tolua/
  5.2に対応してないので少々修正が必要。
   ・関数置き換え
    lua_setfenv → lua_setuservalue
    lua_getfenv → lua_getuservalue
    luaL_getn → lua_rawlen
    LUA_GLOBALSINDEXも変えないといけないのか…。今日はここまで。

コメント

このブログの人気の投稿

.NET:FileSystemWatcherで複数フィルタ指定

AI画像生成の力をかりる

君たちはどう生きるか