#include <stdio.h>
extern "C"
{
#include "lua/include/lua.h"
#include "lua/include/lauxlib.h"
#include "lua/include/lualib.h"
};
int n=0;
static int sum(lua_State* L)
{
n=5;
return n;
}
int main(void)
{
//C++调用lua中的变量
int x=0;
int y=0;
lua_State* L=lua_open();
luaL_loadfile(L ,"lua1.lua");
lua_pcall(L,0,0,0);
lua_getglobal(L,"a");
lua_getglobal(L,"b");
x=(int)lua_tonumber(L,-2);
y=(int)lua_tonumber(L,-1);
//C++调用lua函数
int z=0;
lua_getglobal(L,"f");
lua_pushnumber(L,x);
lua_pushnumber(L,y);
lua_pcall(L,2,1,0);
z=(int)lua_tonumber(L,-1);
lua_close(L);
//lua调用C++函数
lua_State* M;
M=lua_open();
luaL_openlibs(M);
lua_register(M,"sum",sum);
luaL_dofile(M,"lua2.lua");
lua_close(M);
return n;
}
a=11
b=99
function f(x,y)
return x+y;
end
sum('5')
对于我来说,代码是最好的学习方法,上面我直接上我的代码!
在此要在项目属性加上以下引用如图:
1.
2.
3.
致辞一个简单的互撸结束,我也去撸啊撸一局,睡觉~~~