【发布时间】:2011-03-23 16:33:37
【问题描述】:
我需要在 Windows 中休眠我的程序。什么头文件有休眠功能?
【问题讨论】:
我需要在 Windows 中休眠我的程序。什么头文件有休眠功能?
【问题讨论】:
MSDN: 头文件:Winbase.h(包括 Windows.h)
【讨论】:
用途:
#include <windows.h>
Sleep(sometime_in_millisecs); // Note uppercase S
这里有一个小例子,它使用MinGW 编译并按照它在锡上说的做:
#include <windows.h>
#include <stdio.h>
int main() {
printf( "starting to sleep...\n" );
Sleep(3000); // Sleep three seconds
printf("sleep ended\n");
}
【讨论】:
SleepEx 函数(参见http://msdn.microsoft.com/en-us/library/ms686307.aspx)是您的程序直接或间接创建窗口(例如使用某些 COM 对象)时的最佳选择。在简单的情况下,您也可以使用Sleep。
【讨论】:
在您想要忙等待时,在代码开头包含以下函数。这与睡眠不同,因为在此函数运行时进程将使用 100% 的 cpu。
void sleep(unsigned int mseconds)
{
clock_t goal = mseconds + clock();
while (goal > clock())
;
}
请注意,此函数的名称 sleep 具有误导性,因为 CPU 根本不会休眠。
【讨论】: