gpt4 book ai didi

c - 在什么情况下 lua_close 会引发 Segmentation Fault 错误?

转载 作者:太空宇宙 更新时间:2023-11-03 23:56:04 24 4
gpt4 key购买 nike

我说的是 Lua-C API。调用 lua_close(lua_State *) 会导致段错误,即使状态有效。我怎么知道状态是有效的?因为到目前为止我已经正确使用了它。

我会发布源代码,但它太长了,我不确定它是否有用。它只是向我抛出一个段错误错误,我不知道为什么。 Lua 堆栈在调用之前是空的。有人可以帮助我吗?

最佳答案

Lua C API 不应该导致段错误。如果在调用 lua_close 时发生段错误,最可能的原因是某些具有自定义 __gc 元方法的用户数据失败。来自 lua_close 的文档:

Destroys all objects in the given Lua state (calling the corresponding garbage-collection metamethods, if any)

确定这些段错误的原因的最佳方法是运行 gdb 并在它发生时获取回溯。如果你用调试符号编译你的库,你应该准确地找到导致错误的地方。

关于c - 在什么情况下 lua_close 会引发 Segmentation Fault 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7427969/

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