C++将结构体传给lua
2013-01-04 17:02
127 查看
简单概要
就是将结构体传给lua。代码
C++代码void CProject1Dlg::OnBnClickedButton2() { // 打开换为 luaL_newstate lua_State *L = luaL_newstate() ; /* 打开 Lua */ luaL_openlibs(L); /* 加载 .lib 文件 */ // 加载脚本文件,需要放在程序目录 luaL_loadfile( L, "test.lua" ); lua_resume( L, 0 , 0); typedef struct { int a; CString strTest; struct test { int b; }c; }A; A a; a.a = 10; a.c.b = 322; a.strTest = _T("yes"); lua_getglobal(L,"structTest"); lua_newtable(L); lua_pushinteger(L,a.a); lua_setfield(L,-2,"a"); lua_newtable(L); lua_pushinteger(L,a.c.b); lua_setfield(L,-2,"b"); lua_setfield(L,-2,"c"); lua_pushstring(L,CStringA(a.strTest).GetString()); lua_setfield(L,-2,"strTest"); lua_pcall(L,1,1,NULL); // // 输出计算结果 CString c = CString(lua_tostring(L,-1)) ; lua_pop(L,1) ; // 清除堆栈 清除计算结果 // 调用结束 lua_close(L); MessageBox(c); }
Lua代码
function structTest(a) return string.format("做个测试 \r\n a.a = %d \n a.b = %d \n a.strTest = %s", a.a,a.c.b,a.strTest); end
运行结果
相关文章推荐
- C++将结构体传给lua
- C++将结构体传给lua .
- C++将结构体传给lua .
- [置顶] C++ 结构体转Lua Table解决方案
- C++中结构体、联合、枚举的使用以及函数相关
- C++中,自定义结构体vector的排序
- 最简单的C++中调用LUA函数源代码
- C++中stl容器map针对结构体的查找
- (使用lua++)Lua脚本和C++交互(三)
- lua 和 c/c++ 交互 (持续更新)
- swig(Lua)对STL/C++ library的支持
- lua调用C++
- C与C++中结构体的区别
- 利用luabind将Lua嵌入到C++项目中
- Lua与C/C++的交互1:C/C++与Lua最简单的互动
- Lua栈介绍及C++调用Lua过程分析
- 关于cocos2dx如何绑定c++的静态方法和类给lua调用
- c++获取lua嵌套table某属性的值
- lua和c/c++互相调用实例分析-修正
- C++和Lua相互传递数据