c++ - sleep_until 不适用于 MSVC 中的 steady_clock

标签 c++ visual-c++

考虑这段代码:

#include <chrono>
#include <thread>

using namespace std::chrono_literals;

int main()
{
    auto sx = std::chrono::steady_clock::now();
    std::this_thread::sleep_until(sx + 10s);
}

我希望这段代码休眠 10 秒;如果我用 GCC 编译它,这正是它所做的。但是如果我使用 Microsoft VS2015,它根本不会休眠。

如果我将 steady_clock 更改为 system_clock,Microsoft 编译器会生成按预期工作的代码(但可能对 system_clock 调整敏感。 )

这是一个错误,还是我误解了什么?

最佳答案

您的代码在我的系统中完美运行。我在 Windows 10 x64 上使用 MSVC2015 Update 2。

我认为这是 msvc2015 的一个错误。

关于c++ - sleep_until 不适用于 MSVC 中的 steady_clock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37925562/

相关文章:

c++ - 连接 const char* C++

visual-studio - Visual Studio 链接,但没有任何变化

c++ - C4715 仅在 Debug模式下生成

c++ - 从字节数组发出内联汇编

C++ 指针机制 - 错误 2440

c++ - 未初始化的常量

c++ - rust中功能的类型删除

c++ - 确定是否使用 Boost.Asio 计算 UDP 校验和

c++ - 我可以像 `delete[]` 那样获取动态分配数组的大小吗?

c++ - 使用boost阅读xml