lua table 内存泄露
例如:locala={1,2,3},localb=a[2],a={}提问:a[1],a[3]会被自动释放吗?...
例如:local a = {1,2,3},local b = a[2], a = {}
提问:a[1],a[3]会被自动释放吗? 展开
提问:a[1],a[3]会被自动释放吗? 展开
1个回答
展开全部
如果是全局的,就相当于静态的,从程序开始到结束前都一直存在,如果是函数内部,函数结束后会自动释放
追问
lua不是通过引用计数的吗,如果是全局变量,当 a = {1,2,3},a=1,{1,2,3}占?的内存还是会被释放掉吧
追答
不是引用计数。 Lua类似一个配置文件,解释器(c语言) 负责解释lua的语法和逻辑。
运行的时候,解释器会把脚本载入到内存,然后根据用户需要来运行全局的或局部的函数。他的核心就是一个luastate指针,所有的函数和变量都可以通过它来获取和处理。 具体看解释器的实现。
大雅新科技有限公司
2024-11-19 广告
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,...
点击进入详情页
本回答由大雅新科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询