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