为了账号安全,请及时绑定邮箱和手机立即绑定

怎么将C中数据传入lua中

怎么将C中数据传入lua中

C
狐的传说 2019-04-11 09:06:46
#include <stdio.h>#include <Windows.h>#include <string>using namespace std;extern "C"{#include "lua.h"#include "lualib.h"#include "lauxlib.h"};lua_State * L;//解释器static int average(lua_State *L){return 1;}int main(){L=lua_open();luaL_openlibs(L);luaL_dofile(L,"c:\\test112.lua");//netstatutemodel1int a=12;lua_pushnumber(L,a);lua_getglobal(L,"a");a=(int)lua_tointeger(L,-1);lua_pop(L,1);lua_close(L);system("pause");return 0;}、、、、、、、、、lua 中 print(a) 只要传个int a 过来就可以了,
查看完整描述

2 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

int a=12;
lua_pushnumber(L,a);//你将a压入栈之后,并没有将a的值赋予给lua中的变量a,所以lua中a的值没变.所以接下来你获取a的值不会是12
lua_getglobal(L,"a");
a=(int)lua_tointeger(L,-1);

不知道你是否想的是这样:
int a=12;
lua_pushnumber(L,a);
//设置lua的全局变量值:
lua_pushnumber(L,a);
lua_setglpbal(L, "a");
//取全局变量的值:
lua_getglobal(L,"a");
a=(int)lua_tointeger(L,-1);



查看完整回答
反对 回复 2019-04-12
  • 2 回答
  • 0 关注
  • 495 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信