【问题标题】:can't seem to find std::thread in msvc++ 2010 express似乎在 msvc++ 2010 express 中找不到 std::thread
【发布时间】:2012-03-04 07:01:43
【问题描述】:

我最近一直在阅读有关 c++ 的各种新增功能,我对此感到非常兴奋,并且我已经使用了新的 std::unique_ptr 和 std::shared_ptr 对象,它们非常有用,现在我我正在寻找我听说过的本机线程库,但似乎在任何地方都找不到。我正在阅读并寻找 thread.h 和 msvc++ 2010 express 似乎没有它。最新版本的 msvc++ 是否没有附带这个新的线程库,或者它只是没有附带它的 express 版本,还是我只是很傻,不得不在互联网上寻找它的副本?我目前必须通过 windows 函数进行线程处理,我觉得在尝试使用互斥锁时过于复杂,而且它们也是特定于操作系统的,所以我很高兴能找到这个标准库实现:\

【问题讨论】:

    标签: c++ visual-c++


    【解决方案1】:

    并非所有 C++11 更改都在 Visual C++ 2010 编译器中。您将需要使用 boost::thread 或 just::thread 作为替代方案,或使用Visual Studio 11 Beta

    【讨论】:

    • 嗯,好吧,至少我现在有了智能指针。无论如何,我接下来要看 boost::thread ,只是想确保没有可用的标准库等价物。所以可以安全地假设下一个版本的 Visual Studio 很可能有 std::thread 可用?
    【解决方案2】:

    VS2010 的所有版本都没有带有std::thread。请记住,VS2010 早于 C++11 标准。

    您可以尝试boost::thread 作为替代方案。 std::thread 的设计是从 boost::thread 演变而来的,因此当它得到更广泛的实施时,切换到 std::thread 应该不会太痛苦。

    【讨论】:

    • 遗憾的是,std::thread 没有中断点。有足够的理由让我坚持使用boost::thread,只要他们不删除它
    【解决方案3】:

    VS2012 Beta 应该在这个月发布,会比开发者预览版更好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-20
      • 1970-01-01
      • 2012-11-12
      • 2018-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多