gpt4 book ai didi

c++ - lua_getglobal 崩溃程序

转载 作者:行者123 更新时间:2023-11-28 01:04:57 26 4
gpt4 key购买 nike

我之前发表过一篇关于尝试从 C 调用 lua 函数的帖子。您可以在这里查看:

Lua: getting global function failing after loading file

如您所见,我正在加载 lua 文件,然后尝试获取函数并调用它。一位读者建议我解决该问题的方法是更改​​为 dofile 而不是加载文件,因为您需要执行脚本才能访问这些功能。但这不是手头的问题......

无论使用dofile还是loadfile,当我调用lua_getglobal(L, "abc");
我的程序崩溃了...

调用堆栈:

>   Translation.exe!luaS_newlstr(lua_State * L=0xcccccccc, const char * str=0x00460924, unsigned int l=3)  Line 84 + 0x3 bytes  C
Translation.exe!lua_getfield(lua_State * L=0xcccccccc, int idx=-10002, const char * k=0x00460924) Line 551 + 0x20 bytes C
Translation.exe!LanguageShovel::FileFound(std::basic_string<char,std::char_traits<char>,std::allocator<char> > path="C:\Loud\Resolution\orchid\source\EAWResolutionApplication.cpp") Line 32 + 0x16 bytes C++

崩溃于:

  for (o = G(L)->strt.hash[lmod(h, G(L)->strt.size)];
o != NULL;
o = o->gch.next) {

在Lua库的lstring.c文件中。我不知道这个 lua 源代码到底发生了什么。你认为这可能是一个 lua 错误吗?还是我只是做错了?

运行:Windows xp 32 位。

最佳答案

L=0xcccccccc 表明您没有将 Lua 状态变量正确传递给此函数(或者它丢失了 lua_open 之间的某处) lua_getglobal 调用)。

关于c++ - lua_getglobal 崩溃程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6754778/

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