一个奇怪的问题。在lua中调用c的函数,这个c的函数又会回调
lua吧
全部回复
仅看楼主
level 7
xh3140 楼主
一个奇怪的问题。
在lua中调用c的函数,这个c的函数又会回调lua的函数。那么这个c函数应该怎么写?
例如:我要在lua实现一个定时器功能,每隔5秒打印一句话,要求调用c函数来实现。
clooptimer(5,function()
print "一句话"
end)
clooptimer这个函数是c中注册的,有两个参数。第二个参数是函数类型的。
在c中,我用timeSetEvent函数来包装lua规范的注册函数clooptimer,让它定时调用第二个参数传递的函数。
这样的功能该怎样实现。求助,希望大佬指点,解惑。感激不尽。
2018年11月11日 15点11分 1
level 7
xh3140 楼主
这个问题的难点是如何在c中得到lua的函数,在C API中只有一个检验栈中元素是不是lua函数的API,但是没有像lua_tonumber这样的函数来读取它。lua_tocfunction只能读取c函数,lua的不行。呜呜(┯_┯)
2018年11月11日 15点11分 2
不用获取啊,在c中你用lua_pcall去调用lua的函数就行了啊
2018年11月12日 13点11分
首先压栈索引到lua函数,,,,在压参数,,最后调用就行了
2018年11月19日 10点11分
1