MinGW-w64 本身支持 Win32 线程模型的 std::thread 吗?
使用 MinGW-w64 工具链时,选择 Win32线程模型可能会引起对 C 11 线程支持可用性的担忧。
最初,根据之前的陈述,人们认为无论线程模型如何,都可以使用 std::thread。然而,这个假设被证明是不正确的。
尽管使用 -std=c 11 调用 g,std::thread 仍然不受支持。解决这种差异的选项是:
但是,“问题中的“开箱即用”资格不包括 mingw-std-threads 等第三方选项。
原生 std::thread 支持
截至 2016 年 5 月, MinGW-w64 中使用 Win32 线程模型的本机 std::thread 支持是通过安装 mingw-std-threads 标头来实现的。
这是因为 MinGW-w64 缺乏本机线程支持,就像其他实现线程的 GCC 安装一样通过 gthread 或 pthread。 MinGW-w64 也缺少 glibc 端口,但使用 MSVC 运行时及其自己的代码来填充缺失的组件。
MinGW-w64 的最新版本包括 pthreads(“winpthreads”)的 Win32 端口,这解释了为什么选择安装过程中的“pthread”模型启用线程。
以上是具有 Win32 线程模型的 MinGW-w64 本身支持 std::thread 吗?的详细内容。更多信息请关注PHP中文网其他相关文章!