gpt4 book ai didi

Lua 堆栈清理 (C API)

转载 作者:行者123 更新时间:2023-12-04 06:35:26 24 4
gpt4 key购买 nike

通常,在我定义的函数运行后,我会留下最多 6 个剩余条目的 Lua 堆栈。

在某些情况下,这会导致严重的内存泄漏/堆栈溢出!我在函数结束时使用 lua_settop( L, 0 ) 解决了它们。

在其他情况下,即使在我的函数结束时堆栈不为空,也没有泄漏。

  • 我什么时候需要清理 Lua 堆栈?
  • 堆栈中的某一时刻大约有 10.000 个元素怎么会发生呢? (函数中根本没有使用循环)
  • 最佳答案

    在退出用 C 编写的 Lua 函数时,您不需要清理 Lua 堆栈,当然,前提是该函数是从 Lua 调用的。如果您遇到内存泄漏,请发布一个显示问题的最小示例。如果堆栈有 10000 个条目,请确保您已调用 lua_checkstackluaL_checkstack .

    关于Lua 堆栈清理 (C API),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4935678/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com