Başlangıçta Win32 API'si için yazılmış bir oyunu Linux'a aktarıyorum (iyi, Win32 bağlantı noktasının OS X bağlantı noktasını Linux'a taşımak).
QueryPerformanceCounter
İşlem başladığından beri uSeconds vererek uyguladım :
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;
}
Bu, QueryPerformanceFrequency()
frekans olarak sabit 1000000 vermekle birleştiğinde , makinemde iyi çalışıyor ve bana uSeconds
programın başlangıcından beri içeren 64 bitlik bir değişken veriyor .
Peki bu taşınabilir mi? Çekirdek belirli bir şekilde veya buna benzer bir şekilde derlenmişse farklı çalıştığını keşfetmek istemiyorum. Bununla birlikte, Linux dışında bir şeye taşınabilir olmamasından memnunum.