◆C/C++からLuaを実行する
C++からLuaのコードを実行するサンプルをつくりました。C++からLuaのコードを実行するためのライブラリ(lib)のコンパイルは後日紹介します。
extern "C" { #include "lua.h" #include "lualib.h" #include "lauxlib.h" } int main(int argc, char* argv[]) { // LuaのVMを生成 lua_State *const L = lua_open(); // Luaの標準ライブラリを開く luaL_openlibs(L); while (true) { // luaファイルを指定して実行する if (luaL_dofile(L, "test.lua")) { // エラー内容の取得 printf("error:%s\n", lua_tostring(L, -1)); lua_pop(L, 1); return 0; } // 直接コードを指定する if (luaL_dostring(L, "print('hello lua world')")) { // エラー内容の取得 printf("error:%s\n", lua_tostring(L, -1)); lua_pop(L, 1); return 0; } printf("\n"); printf("hit any key...\n"); printf("0 is exit\n"); const char c = getchar(); if (c == '0') { break; } } // LuaのVMを閉じる lua_close(L); return 0; }getchar()のところでtest.luaを編集ご実行すると編集内容が反映されます。
0 件のコメント:
コメントを投稿