3
我們的Lua集成到一個項目,但我們發現一貫崩潰ARM的一個奇怪的測試用例:Lua的崩潰沒有明顯的原因
data = {"A","B","C","D","E","F","G","H","I","J"};
function OnTick(_object)
local params = {};
return 1;
end
這裏是如何的功能正在從所謂的基本知識C++:
lua_getglobal(Lua, function_name->c_str()); // Push function name that we want to call onto the stack
if (lua_isnil(Lua, -1))
{
// Error
lua_pop(Lua, 1);
return -1;
}
lua_pushlightuserdata(Lua, (void*)object); // Push the reference object onto the stack
if (lua_pcall(Lua, 1, 1, 0) != 0)
{
// Error
lua_pop(Lua, 1);
return -1;
}
lua_pop(Lua, 1);
return 1;
OnTick在被調用5次後崩潰。
當垃圾收集器嘗試清理時,Lua似乎崩潰了。任何人都會遇到這樣的事情並解決它?
你是怎麼打OnTick的? –
這段代碼中沒有任何東西會導致Lua崩潰,但是在你沒有向我們顯示的代碼中可能會有一些東西。需要更多的上下文才能成爲可回答的問題。 – Mud
我已經更新了關於如何從C++調用它的更多細節 – Mat