C++ C++;Lua,获取全局字符串

C++ C++;Lua,获取全局字符串,c++,string,variables,lua,global,C++,String,Variables,Lua,Global,在我的脚本中,我有一个全局变量: name = "Stabilizer" 和,我试图在C++中获取这个变量,比如: char* CeScript::GetGlobalString(char* pName) { luaL_loadstring(L, m_sScript.c_str()); lua_getglobal(L, pName); return (char*)lua_tostring(L, -1); } .... char* _name = pScript-&g

在我的脚本中,我有一个全局变量:

name = "Stabilizer"
<>和,我试图在C++中获取这个变量,比如:
char* CeScript::GetGlobalString(char* pName)
{
    luaL_loadstring(L, m_sScript.c_str());

    lua_getglobal(L, pName);

    return (char*)lua_tostring(L, -1);
}
....
char* _name = pScript->GetGlobalString("name");
但是,lua_tostring返回一个空ptr,这表明找不到全局变量

可能是什么问题?
谢谢。

加载字符串只是将字符串编译成一个Lua块,但要执行该块,必须调用Lua\u pcall。在加载字符串之后执行此操作,或者如果需要重复调用它,则将其分配给注册表中的全局或ref

有关代码示例,请参阅其他SO帖子中的关键字“luaL_loadstring lua_pcall”,例如
还有。

谢谢您抽出时间,目前我无法测试这个,但只要我能,我会尽快测试。