원래 Win32 API 용으로 작성된 게임을 Linux로 포팅하고 있습니다 (Win32 포트의 OS X 포트를 Linux로 포팅).
QueryPerformanceCounter
프로세스가 시작된 이후 uSeconds를 제공하여 구현 했습니다.
BOOL QueryPerformanceCounter(LARGE_INTEGER* performanceCount)
{
gettimeofday(¤tTimeVal, NULL);
performanceCount->QuadPart = (currentTimeVal.tv_sec - startTimeVal.tv_sec);
performanceCount->QuadPart *= (1000 * 1000);
performanceCount->QuadPart += (currentTimeVal.tv_usec - startTimeVal.tv_usec);
return true;
}
이것은 QueryPerformanceFrequency()
주파수로 상수 1000000 을 제공하는 것과 함께 내 컴퓨터 에서 잘 작동 uSeconds
하여 프로그램 시작 이후에 포함 된 64 비트 변수를 제공합니다.
그래서 이것은 휴대용입니까? 커널이 특정 방식이나 그와 비슷한 방식으로 컴파일 된 경우 다르게 작동하는 것을 발견하고 싶지 않습니다. 그러나 Linux 이외의 다른 것으로 이식 할 수 없다는 점은 괜찮습니다.