Luabind

Luaから疑似クラスを受け取ってC++で実行する

前回の記事の疑似クラス版。 luabind::objectはもちろんテーブルを受け取れるので疑似クラスも扱えます。テーブル内の関数や変数を見つけるのはoperator[]で可能です。 #include <lua.hpp> #include <lualib.h> #include <luabind/luabind.hpp> int main() { ::lua_State* L = ::lua_open(); ::luaL_o</luabind/luabind.hpp></lualib.h></lua.hpp>…

Luaから無名関数を貰ってC++側で実行する

もしかしたらできるんじゃないの?と思ったらやはりできたのでメモしておきます。 Luaさんに処理の一部分を書いて貰いたい場合、名前が必要な通常の関数はめんどいです。その名前が無きゃ呼び出すのめんどそうです。後名前が干渉してどうこうとかありそうで…

tag_functionのバグ

luabind/tag_function.hppが内部でイテレーションでNとNPLUS1をdefineしています(75行目、76行目)が、undefされてません。85行目あたりに以下のコードを埋めておく。 // luabind/tag_function.hpp ... #undef NPLUS1 #undef N

Luabind備忘録

現在Luabindを用いて部のゲームプログラムにLuaを持ち込んでいますが、クラスをバインドすることも多いです。で、クラスのメンバ関数のバインドコードがオーバーロードされているとき非常にめんどくさくて投げたくなるのは仕方がない。 struct drawable { vo…

Luabindビルドしましょうか(Windows用)

Luabindは使っていたんですが、「やっぱりビルドしなきゃダメだろ」と思いやってみることに。今回の話はWindows上で、D:\Systemの中にLuaとかLuabindとかBoostが入っていることにしてます。 今回はDLL版のライブラリはビルドしません(別にいらないと思った)…