我正在构建一个简单的控制台c ++应用程序。当我在一台 Windows XP的机器上运行它时,我得到了输出。看起来不错。
TickTime:134993550
TickTime:134993560
当我在 Windows Server 2008 R2 的另一台机器上运行它时,我得到以下输出,我不明白它是怎么回事?
TickTime:654336178
TickTime:654336194
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
int i=0;
while(i<100000){
cout << " TickTime :" << GetTickCount();
i++;
}
}
答案 0 :(得分:2)
检索自系统启动以来经过的毫秒数,最多49.7天。
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724408(v=vs.85).aspx
答案 1 :(得分:2)
答案 2 :(得分:1)
我没有看到这个问题。 GetTickCount()返回自系统启动以来的时间,没有绝对的。在任何一种情况下,差异都是几个刻度(10,分别为16),所以它看起来很好。
答案 3 :(得分:0)
我认为这个问题的提问者感到困惑的是XP机器似乎比服务器机器更快地执行代码。这个难题的答案很复杂,有许多变量,但是要说出两个最大的变量:硬件资源差异和工作负载差异(两者上还运行了什么)。此外,如果你让它运行一段时间,并加载其他程序等...我想你会发现那些“抽搐”不会保持静止......
简单地说,服务器可能有更好的硬件,但是如果它运行的是一堆可以影响它的软件。
答案 4 :(得分:0)
所以,你可能想要 GetSystemTime