C言語とLuaの連携
この章ではC言語とLuaの連携について解説します。
LuaはもともとC言語に組み込んで使うように設計されています。そのため組み込み用途としてのLuaこそ本領だと言えます。
C言語にLuaを組み込むとはどのようなことかと言うと、C言語プログラムからLuaスクリプトを読み込み、 Luaで定義された関数を呼び出したり、Lua側でC言語プログラムの制御を行ったりすることです。
まずは簡単なコードサンプルを見てみましょう
#include "lua.h" #include "lualib.h" #include "lauxlib.h" int main(void) { lua_State *L = luaL_newstate(); luaL_openlibs(L); luaL_dostring(L, "print('Hello Lua Script!!')"); lua_close(L); return 0; }
上記のコードはC言語です。プログラムを実行するとコンソールに「Hello Lua Script!!」と表示されます。
コードの細かい説明は後で行うとして、端的な説明をすると上記プログラムは、
luaL_dostring関数を使用して、第二引数に記述したLuaのコードを実行しています。