#c #timer
#c #таймер
Вопрос:
Я пытаюсь использовать qpc для получения синхронизации с высоким разрешением в C .
LARGE_INTEGER li;
PCFreq = double(li.QuadPart)/1000.0;
QueryPerformanceCounter(amp;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 на другой машине.
Я не уверен, почему он большой на одной машине, а не на другой.
Я получаю отрицательные значения для часов и секунд на компьютере с большим значением. Что здесь делается неправильно?
Комментарии:
1. Из кода, который вы опубликовали здесь, похоже, что вы используете
LARGE_INTEGER li
его еще до его инициализации. Попробуйте поменять местами первые две строки.2. @Doug: здесь была опечатка. Я правильно инициализировал.