我正在使用C ++中的lua编写基本脚本系统。我的一个胶水功能是从这个调用:
lua_register(luaVM, "openFile", l_dial.l_specifyF);
编码如下:
static int l_specifyF(lua_State* luaVM) {
const char* c = lua_tostring(luaVM, -1);
cDialogManager::getSingletonPtr()->clearVector();
try{
luaL_dofile(luaVM, c);
}
catch(...) {
cout << "Unable to open file" << endl;
luaL_dofile(luaVM, "startup.lua");
}
return 1;
}
当我在我的应用程序中调用它时,如果我从openFile("somefile.lua")
或openFile("someotherfile.lua")
这样的本地目录调用文件,它会100%工作,但在调用位于外部文件夹(如{{}的文件时会崩溃1}}。
注意这个 实际上在某些情况下有效,这只会增加混乱。这有什么理由吗? 如何修复我的应用程序以使用外部目录中的文件?
答案 0 :(得分:0)
根据您的描述,我严重怀疑它与文件夹结构有关。我的猜测是,你正在观察早期错误的后期反应......