C++将结构体传给lua
来源:互联网 发布:关于网络的手抄报图片 编辑:程序博客网 时间:2024/05/01 04:51
简单概要
就是将结构体传给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
运行结果
0 0
- 如何将c结构数据传给lua
- 如何将c结构数据传给lua
- C++将结构体传给lua
- C++将结构体传给lua .
- C++将结构体传给lua
- 如何将c结构数据传给lua(转)
- 将消息传给自己
- 将结构体写入为二进制文件(C++)
- 将参数传给Java应用程序
- 将手势传给父视图
- Effective STL: 将vector和string的数据传给历史遗留的C风格API
- Effective STL: 将vector和string的数据传给历史遗留的C风格API
- c中遍历lua表结构
- c中遍历lua表结构
- c中遍历lua表结构
- 使用JNI将C结构体转为JAVA实体类
- c结构体施展操作(将持续更新)
- FLEX将数组传给后台JAVA处理.
- 多态的详细介绍
- 涨姿势!x86处理器兼容ARM架构App的秘密
- JVM内存划分
- 【Redis源码剖析】 - Redis内置数据结构之字符串sds
- Json 和 Jsonlib 的使用
- C++将结构体传给lua
- 动态分析maillog日志,把恶意链接直接用防火墙禁止
- Nginx源码分析(2)之——共享内存管理之slab机制
- IntelliJ IDEA 14.x 与 Tomcat 集成,创建并运行Java Web项目
- 安卓应用反编译(三)-结束
- [Awt]——图片获取方式
- VS2013 编译ffmpeg
- String与InputStream的互相转换
- 对象的创建