【问题标题】:How to delay a C++ command on Mac OS X如何在 Mac OS X 上延迟 C++ 命令
【发布时间】:2016-08-30 10:43:42
【问题描述】:

我正在使用 Mac 上的 Netbeans 开发这个非常简单的操作系统,我需要为计时器应用程序延迟一行代码。是否有一个简单的命令可以用来延迟(什么都不做/等待)一段时间?我看过关于这个主题的其他问题,他们说输入“Thread.Sleep(1000);”但这只会带来一堆错误。提前感谢您的帮助!

我尝试使用以下建议之一并得到了这个:

main.cpp:29:26:错误:预期的命名空间名称 使用命名空间 std::chrono_literals; ~~~~~^ main.cpp:30:10:错误:命名空间“std”中没有名为“this_thread”的成员 std::this_thread::sleep_for(5s); ~~~~~^ main.cpp:30:34:错误:整数常量上的后缀“s”无效 std::this_thread::sleep_for(5s); ^ 生成 3 个错误。

【问题讨论】:

  • 什么是 C++ 命令?这个发明的术语会在您的问题中引入歧义。
  • 使用睡眠几乎总是编码不当的标志。

标签: c++ macos


【解决方案1】:

如果你想要一个可移植的解决方案并且你至少有 C++11 支持,那么你可以使用std::this_thread::sleep_for like

using namespace std::chrono_literals;
std::this_thread::sleep_for(1s);

这会导致当前线程休眠 1 秒。

【讨论】:

    【解决方案2】:

    因为你是在 mac 上,所以你可以使用

    #include <unistd.h>
    
    using namespace std;
    
    usleep(1000000);
    

    这将使程序等待一秒钟。

    【讨论】:

      猜你喜欢
      • 2011-03-31
      • 2011-12-11
      • 1970-01-01
      • 2014-06-30
      • 2016-04-06
      • 1970-01-01
      • 1970-01-01
      • 2016-11-07
      相关资源
      最近更新 更多