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のコードを実行しています。



inserted by FC2 system