`
mryufeng
  • 浏览: 981830 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

lua newproxy用途

    博客分类:
  • Lua
Lua 
阅读更多
What does newproxy() in 5.1?

> I find newproxy a curious addition.  It gives you unique userdata that
> share the same metatable.  I cannot think of a use for it yet.
> What did you have in mind?

This is a very experimental feature. We wanted a simple and secure way
of creating userdata in Lua. It has several uses, such as to monitor
garbage collection, as a light "unique" object, and for testing ;-).
But we cannot allow Lua to change the metatable of those userdata;
otherwise, Lua could break other libraries (e.g. give one of these
userdata as a file to be closed). To allow each userdata to have its own
new metatable or to share the metatable of another such userdata seems
flexible and secure.

userdata to be collected still counts into new GC threshold, increasing memory consumption.
Reported by Roberto on 25 Jul 2003. Fixed in 5.0.2.

这是用法:
Example:

a = newproxy(true)
getmetatable(a).__gc = function () end
for i=1,10000000 do
  newproxy(a)
  if math.mod(i, 10000) == 0 then print(gcinfo()) end
end


搞了半天原来主要是用来产生大量的具有相同的行为的小对象 主要是做测试用的。

萝卜神也搞得太忽悠人了。
分享到:
评论

相关推荐

    LUAC脚本解密_luac解密在线_luac4加密_luac反编译_luac4解密工具_luac解密工具

    LUAC脚本是一种基于Lua语言的编译格式,它将Lua源代码编译成字节码,以便在 Lua 解释器上高效运行。LUAC(Lua Compiler)是Lua官方提供的编译器,它将源代码转换为这种优化的字节码,以提高执行速度。在游戏开发、...

    所有版本LUA源码

    所有版本LUA源码 lua-5.3.5 lua-5.3.4 lua-5.3.3 lua-5.3.2 lua-5.3.1 lua-5.3.0 lua-5.2.4 lua-5.2.3 lua-5.2.2 lua-5.2.1 lua-5.2.0 lua-5.1.5 lua-5.1.4 lua-5.1.3 lua-5.1.2 lua-5.1.1 lua-5.1 lua-5.0.3 lua-...

    LUAC反编译_LUC_lua反编译工具_luac_luac解密工具_Lua解密_

    Lua源代码是文本形式的,易于阅读和编写,但为了保护代码不被轻易篡改或盗用,开发者通常会将Lua代码编译成字节码(.lua.c文件或.luac文件)。"LUAC"就是Lua的官方编译器,它将Lua源代码转换为字节码,以提高执行...

    LUAC解密工具.zip_andlua解密工具_andlua解密软件_lua 4.2解密_luac转lua_lua解密工具

    "LUAC解密工具"就是针对Lua编译后的二进制文件(.luac)进行解密的工具,目的是为了让加密过的Lua代码能够恢复成可读的源代码格式(.lua)。 LUAC是Lua的编译器,它将Lua源代码转换为字节码,这个过程通常是为了...

    lua_stm32f4.rar_lua stm32_lua移植stm32_stm32 lua_stm32f407移植lua_st

    《Lua在STM32F407上的移植与应用》 在嵌入式系统领域,为了提高代码的可读性、可维护性和灵活性,越来越多的开发者选择使用高级脚本语言,如Lua,来替代传统的C/C++编程。本文将详细探讨如何在STM32F407微控制器上...

    lua加密成luac工具

    ios版本将lua加密成luac

    Lua中文编辑器luaEditor

    Lua是一种轻量级的脚本语言,常用于游戏开发、嵌入式系统和服务器配置等领域。LuaEditor是一款专为Lua编程设计的中文编辑器,它为程序员提供了方便的开发环境,提高了编写和调试Lua代码的效率。luaEditor-v4.10是该...

    luaDll+ luacom+luaiconv.rar

    内含luaDll,luacom以及luaiconv源码。luaDll和luaiconv直接打开sln在Visual studio中即可进行编译。luacom可使用nmake进行编译。也可直接使用已经生成了的dll.

    LUA5.1的API

    首先,`luaL_newstate()`是创建一个新的Lua虚拟机实例的函数。它负责分配必要的内存并初始化虚拟机,返回一个`lua_State`类型的指针,这个指针是后续所有Lua API函数调用的第一个参数,用于标识要操作的特定虚拟机...

    Lua的最基本使用 C++与lua的互相调用

    使用`lua_pushnumber`、`lua_pushstring`等函数将C++数据推送到Lua栈,使用`lua_tonumber`、`lua_tostring`等函数从Lua栈获取数据。 6. 清理:调用`lua_settop(L, 0)`清空栈,防止内存泄漏。 二、Lua调用C++函数 ...

    易语言lua的例子

    4. **Lua.dll**:这是Lua51.DLL,是Lua解释器的核心部分,包含了Lua的所有运行时功能。在易语言中,可以通过动态链接这个DLL来调用Lua的功能。 5. **测试.e**:这是一个易语言的源代码文件,很可能包含了如何在...

    lua_test.rar_C++_c# lua_c++ lua_lua_lua调用C++

    本示例中的"lua_test.rar"文件集是一个关于C++与Lua交互的实践案例,主要探讨了如何通过Lua脚本调用C++编写的函数。下面我们将详细探讨这个主题。 首先,Lua是一种轻量级的脚本语言,它简洁、易学,常被用于游戏...

    Nginx+lua通过url传参的方式实现动态代理

    ### Nginx+Lua通过URL传参方式实现动态代理 #### 概述 在现代Web应用开发中,灵活地管理后端服务之间的通信是至关重要的。动态代理技术为这一需求提供了解决方案,使得前端可以方便地根据业务逻辑将请求转发至不同...

    C#与Lua交互的例程

    Lua lua = new Lua(); lua.LoadLibraries(Lua.LuaLibrary.Standard); lua.PushCSFunction(new MyCSharpClass().MyMethod); // 注册C#方法 lua.DoFile("test.lua"); // 执行Lua脚本 ``` 在Lua脚本(如test.lua)中,...

    LuaBitOp-1.0.2 lua位操作源码

    LuaBitOp-1.0.2 是一个针对 Lua 语言的位操作库,它提供了对二进制数据进行位运算的功能。位操作是计算机科学中的基础概念,它们在底层编程、数据处理和优化中有着广泛的应用。LuaBitOp 的源码可以帮助开发者深入...

    lua 5.3.5 windows预编译exe/dll文件 lua5.3.5.win.zip

    lua5.3(32位/64位)windows 预编译(exe/DLL) adding: lua5.3.5-x86/lua.exe (in=14336) (out=7311) (deflated 49%) adding: lua5.3.5-x86/lua.o (in=24873) (out=9654) (deflated 61%) adding: lua5.3.5-x86/lua...

    lua5.4.4官网源码编译C++库

    lua_State* L = luaL_newstate(); luaL_openlibs(L); const char* script = "print('Hello, Lua!')"; if (luaL_dostring(L, script)) { printf("Error: %s\n", lua_tostring(L, -1)); } else { printf(...

    LUA-JS.zip_js lua.js_js调用 lua_lua JavaScript_lua调用js_lua转js

    JS和LUA交互,主要是JS和LUA交互实现模版,可以作为参考

    介于许多小伙伴 打开lua官网很慢,下载lua源代码很慢,传一个lua5.4.6最新版本的源代码

    Lua是一种轻量级的脚本语言,主要用于嵌入到其他应用程序中以增加其功能和定制性。它的设计目标是简洁、高效和可扩展。在本文中,我们将详细探讨Lua 5.4.6这一最新版本的源代码及其相关知识点。 首先,让我们了解...

Global site tag (gtag.js) - Google Analytics