【发布时间】:2018-12-08 06:38:11
【问题描述】:
我需要从 C 中调用一个 Lua 函数,只要该函数是全局的,我可以在全局表中找到它,但是如果它被声明为本地,我如何将地址压入堆栈来调用它?
function MyGlobal()
print("Global")
end
local function MyLocalGlobal()
print("Local")
end
从 C 调用 MyGlobal() 不是问题,它可以正常工作。我在全局表中查找函数。
但是我如何从 C 调用MyLocalGlobal()?它不在全局表中,但它在哪里以及如何推送地址?
我正在使用 Lua 5.3.4。
【问题讨论】:
-
可能
MyLocalGlobal已经不存在了。本地函数在控制退出其词法范围后会进行垃圾回收。
标签: c lua function-call local-functions global-functions