gpt4 book ai didi

memory - LuaJit 增加堆栈/堆大小

转载 作者:行者123 更新时间:2023-12-01 15:29:19 24 4
gpt4 key购买 nike

我在 LuaJit 中不断收到内存不足错误。如何增加堆栈或堆大小?

谢谢

最佳答案

除了玩具示例,我自己没有使用过 LuaJIT。但是由于还没有其他人提供任何答案...

从浏览 documentation , LuaJIT 依赖于 Coco 对标准协程库的扩展。 Coco 引入的变化之一是,创建新协程的函数现在采用一个可选参数来指定堆栈大小。

引用 Coco 文档:

coro = coroutine.create(f [, cstacksize])
func = coroutine.wrap(f [, cstacksize])

The optional argument cstacksize specifies the size of the C stack to allocate for the coroutine:

  • A default stack size is used if cstacksize is not given or is nil or zero.
  • No C stack is allocated if cstacksize is -1.
  • Any other value is rounded up to the minimum size (i.e. use 1 to get the minimum size).

还有设置默认 C 堆栈大小的新函数 coroutine.cstacksize([newdefault]),以及对 C API 的一些相应更改。

此外,在 luaconf.h 的 LuaJIT 版本中有许多编译时配置选项。那里可能有一些设置默认值的东西。在 Windows 上,还有一个针对可执行文件的基本堆栈的链接时设置,由 MSVC 的 LINK.EXE 通过应用程序的 .DEF 文件中的 STACKSIZE 语句设置。

关于memory - LuaJit 增加堆栈/堆大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1354572/

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