C++将结构体传给lua .
2013-01-16 21:51
176 查看
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 Table解决方案
- C++将结构体传给lua
- C++将结构体传给lua
- c# 调用 研华库函数中 C++ 非托管 Dll 一例(包含指针成员的结构体的调用)
- Struct结构体是C/C++语言中用来自定义数据类型的
- lua学习系列:c++调用lua脚本的简单示例
- lua调用c++函数,c++调用lua
- C++中结构体与C的结构体、及C++类的区别
- Lua和C++交互api学习
- Cocos2d-x 3.6(Lua):Cocos如何绑定Lua自定义C++
- 从C到C++——结构体(struct)的涅槃
- 关于Lua调用c++ DLL 文件的详解
- C++ STL 标准结构体排序
- 介绍LuaPlus: 好用的Lua For C++扩展(修订)
- 介绍LuaPlus: 好用的Lua For C++扩展(修订)
- C/C++结构体所占内存的问题
- C/C++ 结构体 字节对齐原则详细举例解释 及sizeof的基本用法
- 参考小白书上用c++采用结构体重载的大数类模版
- 在Lua中调用c++函数示例