2
執行功能。如果我有一些Lua代碼是這樣的:Lua的獲取和由C
doSomething(function()
print("Hello!")
end)
我怎樣才能使它的是,使用C API,我創建C Lua的函數DoSomething的,然後可以保存函數傳遞給它以後執行?
執行功能。如果我有一些Lua代碼是這樣的:Lua的獲取和由C
doSomething(function()
print("Hello!")
end)
我怎樣才能使它的是,使用C API,我創建C Lua的函數DoSomething的,然後可以保存函數傳遞給它以後執行?
這只是一個正常的條目入棧。檢查它與lua_isfunction()
,然後使用luaL_ref()
生成一個引用(以便垃圾收集器不會偷它),然後可能lua_topointer()
來存儲一個指向這個對象的指針,取決於你想用它做什麼。
當你完成它只是一個luaL_unref()
。
Oh忽略了後面的執行位,這只是'lua_call()',但請確保您閱讀了http://www.lua.org/manual/5.1/manual.html#lua_call下的詳細信息 – hroptatyr 2011-04-05 23:08:12