要统计一次运行超过50天的程序已运行时间,由于 GetTickCount 等32位表示时间的函数存在回绕问题(大约49.71天就会回绕),所以不适合,可采用GetTickCount64函数,
以下是一个在C++中使用 GetTickCount64 函数的简单示例代码, GetTickCount64 函数用于获取系统启动以来经过的毫秒数,返回值是一个64位无符号整数:
cpp
#include <iostream>
#include <windows.h>
int main() {
// 记录开始时间
ULONGLONG startTick = GetTickCount64();
// 模拟执行一些操作,这里简单让程序睡眠3秒
Sleep(3000);
// 记录结束时间
ULONGLONG endTick = GetTickCount64();
// 计算经过的时间
ULONGLONG elapsedTime = endTick - startTick;
std::cout << "经过的时间(毫秒): " << elapsedTime << std::endl;
return 0;
}
在上述代码中:
1. 首先包含了必要的头文件 <iostream> 用于输入输出操作, <windows.h> 用于使用Windows系统相关的函数,包括 GetTickCount64 和 Sleep 。
2. 使用 GetTickCount64 获取程序开始执行时系统启动以来的毫秒数,并存储在 startTick 变量中。
3. 使用 Sleep 函数让程序暂停执行3000毫秒(即3秒),模拟执行一些操作。
4. 再次使用 GetTickCount64 获取操作执行结束后的时间,存储在 endTick 变量中。
5. 计算并输出 endTick 和 startTick 的差值,得到程序执行操作所花费的时间。
请注意, GetTickCount64 函数仅在Windows系统下可用,并且其返回的时间值在系统休眠或睡眠时间调整时可能会产生不连续的情况。