找个叫C++互撸一下,互撸娃

#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;

}		


lua1.lua:

a=11
b=99

function f(x,y)
	return x+y;
end


lua2.lua:

sum('5')



对于我来说,代码是最好的学习方法,上面我直接上我的代码!


在此要在项目属性加上以下引用如图:

1.

2.

3.

致辞一个简单的互撸结束,我也去撸啊撸一局,睡觉~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值