coroutine in lua

  今天试着在项目的lua5.1里用coroutine, 想“优雅的”解决对话框弹出的问题, 让它有返回值。html

  但遇到lua: attempt to yield across metamethod/C-call boundary。   在网上查了查,没弄好,就不弄了。(对工做没热情的后果就是这样,我要是爱它,我会把整个项目换成lua 5.2,5.3)lua

  下面是几篇文章,未来备用。还有本身的一点总结:spa

  http://blog.codingnow.com/2012/06/continuation_in_lua_52.html线程

  http://lua-users.org/lists/lua-l/2008-05/msg00181.htmlhtm

http://stackoverflow.com/questions/8459459/lua-coroutine-error-tempt-to-yield-across-metamethod-c-call-boundaryblog

  http://www.cppblog.com/kevinlynx/archive/2008/08/12/58636.html博客

 

  1,有人明确说主线程里yield会出这个错误。云风的博客里给的解释彷佛更本质一些。io

  2,cppblog的那篇文章里,明明写成了一个(它就是为了解决对话框问题),但它的代码我几乎是照搬,嵌入项目里,仍是不行。它用的也是5.1。coding