我正在尝试使用qpc在C ++中获得高分辨率的时序。
LARGE_INTEGER li;
PCFreq = double(li.QuadPart)/1000.0;
QueryPerformanceCounter(&li);
long x = (li.QuadPart)/PCFreq;
long y = 60*60*1000;
long h = x/y;
long m = (x-(h*y))/(y/60);
long s = (x-(h*y)-(m*(y/60)))/1000;
long mi = x-(h*y)-(m*(y/60))-(s*1000);
一台机器中的li.quadpart 29251473450669.另一台机器中的li.quadpart为74248079848。 我不确定为什么它在一台机器上很大而在另一台机器上却不是这样。
我在具有较大值的机器中获得小时和秒的负值。这里做错了什么?