【发布时间】:2016-12-30 14:50:09
【问题描述】:
我想在 C++(UE4 框架)中使用async/await 语法,但由于跨平台代码,我不确定这是否可行……或者可能吗?如果是,我该如何使用它?
在 Visual Studio 中还突出显示了 await 和 __await(resumable、yield 和 __yield_value)关键字。有什么区别?可能不是所有的编译器都支持这个关键字或者单独支持?
gcc、clang都接受了吗?或者不接受,我可以单独为每个平台使用宏。
【问题讨论】:
-
不,不是所有编译器都支持
async或await语法。 GCC 和 CLang 只是众多编译器中的两个。您应该检查 Greenhills、IAR、Keil 和 Visual Studio 等等。 -
llvm 和 clang 的实施正在进行中:参见 twitter.com/Eric01/status/867473461836263424(2017 年 5 月 24 日:“协程现在在 Clang Trunk 中!”)
标签: c++ asynchronous async-await cross-platform unreal-engine4