【问题标题】:Sleep() function windows 8 c++睡眠()函数windows 8 c ++
【发布时间】:2014-02-20 10:18:51
【问题描述】:

我正在尝试使用 c++ 在 Windows 8 操作系统上运行 Sleep() 函数。到目前为止,我还没有找到任何具体的例子。

http://msdn.microsoft.com/en-us/library/windows/desktop/ms686298%28v=vs.85%29.aspx 开始,我已经包含了标题<Synchapi.h>,尽管我得到“标识符“睡眠”未定义”。我可以从 Synchapi.h 中找到函数 SleepConditionVariableCS() 和 SleepConditionVariableSRW(),但找不到 Sleep()。

有没有人设法在 Windows 8 操作系统上使用 Sleep() 或知道为什么我无法找到该功能?

【问题讨论】:

    标签: c++ windows-8 header undefined sleep


    【解决方案1】:

    您不应该直接包含 Synchapi.h。改为包含 Windows.h。

    #include <Windows.h>
    
    int main()
    {
      Sleep(1000);
      return 0;
    }
    

    【讨论】:

      【解决方案2】:

      您使用的是 C++11 吗?如果你是,你可以使用:

      #include <thread>
      template< class Rep, class Period >
      void sleep_for( const std::chrono::duration<Rep,Period>& sleep_duration );
      

      更新 Sleep() 函数仅适用于桌面应用程序。您是否正在构建一个以前称为 Metro 应用程序的应用程序?还是 App Store 应用程序? 有关一些解决方法,请参阅本文:

      http://blogs.msdn.com/b/win8devsupport/archive/2012/11/28/introduce-multi-thread-programming-in-windows-store-apps-part-ii.aspx

      【讨论】:

      • 啊,这就是原因(我正在构建一个 Metro 应用程序)。替代方案看起来相当复杂。
      猜你喜欢
      • 2021-05-11
      • 2010-12-12
      • 1970-01-01
      • 2017-01-02
      • 2011-11-22
      • 1970-01-01
      • 2011-03-23
      • 2014-12-13
      相关资源
      最近更新 更多