Lua使用C++中的类——调用类方法并访问类变量
xxnull 2013-04-18 11:21
lua_pushnumber(L,pT->m_x);
}
else if (strcmp(lua_tostring(L,2),"Add") == 0)
lua_pushcfunction(L,CallAdd);
else
return 0;
return 1;
static int lua_newindex(lua_State* L)
CTest* pT = *(CTest**)lua_topointer(L,1);
if (strcmp(lua_tostring(L,"m_x") == 0)
pT->m_x = (int)lua_tonumber(L,3);
int main(int argc,char * argv[])
lua_State *L = lua_open();
luaopen_base(L);
// 往lua中注册类
注册用于创建类的全局函数
lua_setglobal(L,"CTest");
luaL_newMetatable(L,"CTest"); // 创建一个元表
lua_pushstring(L,"__gc"); // 垃圾回收
lua_settable(L,-3); // 公共函数调用的实现就在此啊
lua_pop(L,68); font-family:Simsun; font-size:14px; line-height:23.796875px">luaL_dofile(L,"LuaUseClass.lua");
lua_close(L);
makefile
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。