Cから実行する。


C <--- lua_toXXX() --- Lua ret = func( x, y ); C --- lua_pushXXX() return Nr; ---> Lua
pushXXX : 結果を stack に のせる. toXXX : スタック から値を取得 ( stack は取り除かれない ) Ret2 <--- ここから Lua は Nr 個を script の変数に順番に格納 ------- Ret1 ------- Arg2 ------- Arg1 -------
WARNING // C++ からリンクする時は "C" リンケージをすること。 // Link エラーになる。 # include "lua.hpp" # pragma comment(lib, "../../lib/lua51.lib") # pragma comment(lib, "../../lib/lua5.1.lib") int main() { lua_State *s; s = lua_open(); luaL_openlibs( s ); luaL_dofile( s, "d:/test.lua" ); lua_close( s ); return 0; }
ビルドする。
shell> cl main.cpp
Lua スクリプトを用意して実行してもらう。
print "test lua"