我需要模仿Lua的lua_ref注册表,但不能使用现有的解决方案。与之相关的两个问题:
答案 0 :(得分:1)
是以任何方式在内部优化的lua_ref / LUA_REGISTRYINDEX,还是自定义解决方案同样快?
除了注册表是一个可从任何C函数访问的特殊位置之外,它没有什么特别之处。 ((elemWidth == halfWidth) ? "" : "does not "
及其同事并不特别。
LUA_REGISTRYINDEX是一个伪索引 - 我们可以以某种方式定义我们自己的吗?
没有。好吧,不是没有修改Lua本身。
理论上你可以使用upvalues,但是你注册的每个函数都有独立的upvalues。显然,他们都可以引用相同的表。但主要的是,这张表在您注册的函数之外是不可见的。
如果这种限制对您有用,那么这应该足够好了。