◆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 件のコメント:
コメントを投稿