我负责一个窗口应用程序,加载插件“脚本”动态链接库的c++编写。
该应用公开了基于Win32纤程的API,以允许插件dlls中的c++‘脚本’使用'yield‘和'resume’类型的调用--本质上是协同例程--来对脚本中的依赖性进行排序,而无需求助于异步事件体系结构。
现在,我正在考虑将应用程序移植到Mac和/或Linux上,并且出现了使用Qt这样的框架的选择。
然而,Qt似乎只支持适当的异步线程,而不是类似于Win32纤程的轻量级同步线程原语。
在Cocoa上,或者在像Qt这样的跨平台框架中,有没有一个类似Win32的Fibera?
发布于 2009-10-16 12:29:18
我不知道可可,但在Qt中你不支持纤维。
发布于 2011-04-03 16:38:40
你可以试试这个:http://qt.gitorious.org/qt-labs/coroutine
发布于 2009-10-16 12:42:14
Qt里什么都没有。但是,已经存在一些协程程序库,编写Qt样式的包装器并不难,它在Windows上使用纤程,在POSIX上使用setjmp/longjmp。
例如,here是一个很好的包装类中的协程在POSIX上的实现。
https://stackoverflow.com/questions/1577728
复制相似问题