#include "stdafx.h"
extern "C"
{
#include ".\lua\lua.h"
#include ".\lua\lauxlib.h"
#include ".\lua\lualib.h"
};
#pragma comment(lib, "lua51.lib")
#pragma comment(lib, "lua5.1.lib")
static lua_State* Lua_main = NULL;
static int Res = 0;
static int Add_Num(lua_State* l)
{
int x = lua_tonumber(l ,1);
int y = lua_tonumber(l ,2);
Res = x + y;
lua_pushnumber(l, Res);
return 1 ;
}
int main(int argc, char* argv[])
{
Lua_main = lua_open();
static const luaL_reg scriptLib[] =
{
{"add_Lua" , Add_Num},
{NULL , NULL}
};
luaL_openlib(Lua_main, "G_Key", scriptLib, 0);
luaL_openlibs(Lua_main);
lua_resume(Lua_main, 0);
luaL_dofile(Lua_main, "Test.lua");
printf("输出的值=%d\n",Res);
lua_getglobal(Lua_main, "Add");
lua_pcall(Lua_main, 0 ,0 ,0);
return 0;
}
脚本为:
local p = "Lua_Test/"
local m_package_path = package.path
package.path = string.format("%s;%s?.lua",m_package_path, p)
local m_level1 = require("Level");
print("AAAAAAAAAAAAAAAAAAAAAAAAAAAA");
function Add()
result = G_Key.add_Lua(1,2);
print(tostring(result));
end
以上就可以相互调用了哈哈