3 ms·
Excitingly, we soon may be able to have both (if you can compile your C code with a C++ compiler). Coroutines are in the working draft for the C++20 spec, so th
by manwe150 7y ago
Excitingly, we soon may be able to have both (if you can compile your C code with a C++ compiler). Coroutines are in the working draft for the C++20 spec, so they may soon be provided by the runtime (and thus integrate into all of the other language features and syntax) instead of requiring hacking it up with string macros: https://en.cppreference.com/w/cpp/language/coroutines https://en.cppreference.com/w/cpp/language/coroutines
- alexhutcheson 7y agoIf you want coroutines before upgrading to a C++20 toolchain, you can also try: - boost::Fiber for C++: https://www.boost.org/doc/libs/1_70_0/libs/fiber/doc/html/index.html https://www.boost.org/doc/libs/1_70_0/libs/fiber/doc/html/in... - boost::coroutine2 for C++: https://www.boost.org/doc/libs/1_70_0/libs/coroutine2/doc/html/index.html https://www.boost.org/doc/libs/1_70_0/libs/coroutine2/doc/ht... (lower level than boost::Fiber, and doesn't include an internal scheduler) - libtask for C: https://swtch.com/libtask/ https://swtch.com/libtask/ In the C++ context, this doc summarizes the distinction between "fibers" and "coroutines", although the terminology is not consistent across language ecosystems: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4024.pdf http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n402...
- kitd 7y agoD also has fibers, and good C/C++ integration, so that could be an option too. http://ddili.org/ders/d.en/fibers.html http://ddili.org/ders/d.en/fibers.html