有关lua_yield的使用方法,云风大哥,最近我在使用Lua的时候遇到一些问题问题如下:我有一个脚本,脚本内容:for i = 0,10,1 do a:Wait(300); --doSomeThing();end我这里Wait是想让脚本挂起,直到300秒的时间到了再启用在我的Wait函数里面我使用了lua_yield来挂起,但是最终lua_state的值总是大于0,所以返加了一条错误类似说“必须在C函数返回时调用”,但我确实是在return()里的啊,这个问题让我很困扰,你帮我看看或者提供一些资料给我看看吧,在这里,我这个Wait函数是类成员函数
可能你更外层由 C 调用了这段脚本。
请看 coco 的扩展。不过想搞明白为什么,最好读一下 lua 的代码。并在脑子里转一下,整个逻辑流程从 C 曾面看是在怎样的跑。coco 会使用 fiber ,有一定的代价。coco 的使用不是必须的。 - 回复 | (1827) | 云风 | 2008-01-25 01:04:19