- 博客(3)
- 资源 (2)
- 收藏
- 关注
原创 Lua C API的垃圾回收探索 (Garbage Collection)
Lua和C API是通过一个虚拟栈结构lua_State交互的。关于这个虚拟栈,Lua官方手册给的提示并不多。首先,lua栈上的对象和值是受到GC控制的。因此这样的代码可能存在一些问题:lua_State* xL=lua_newthread(L);lua_pop(L,1)// work with xL...在这里,lua_newthread执行后,会有一个新thread被放到L上,然后...
2018-12-19 22:05:43 878
原创 Lua Userdata 的元表 (Metatable)
在Lua C API编程上,经常有一些博客会说,必须使用luaL_newmetatable和luaL_setmetatable来给userdata加元表。还说给userdata加的元表不是普通的table。于是本着不信邪的态度,我翻了一下源码并自己尝试写了一些测试。普通的表能做userdata的元表么对于这个问题,我觉得是可以的,因为Lua中只有这一种数据结构,不存在什么特别的表。class...
2018-12-15 11:47:31 3839
原创 浅谈Lua和C++异常处理
浅谈Lua和C++异常处理最近在弄一些跟Lua相关的小玩意, 在异常处理上遇到了一些问题.Lua是一门小巧的, 用纯C写的语言。不过也支持按照C++编译。在可以使用makefile的环境下,指定CC为g++即可(clang可能会给出warning,表明正在将.c后缀的文件当作.cpp)。在VS下需要【配置 -> C/C++ -> 高级 -> 编译为】,然后选编译为C++(或者...
2018-12-14 13:15:08 2261
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人