How to Measure Time in Microsecond
1 Windows实现微秒级误差定时
typedef union _LARGE_INTEGER {
struct {
DWORD LowPart;
LONG HighPart;
} DUMMYSTRUCTNAME;
struct {
DWORD LowPart;
LONG HighPart;
} u;
LONGLONG QuadPart;
} LARGE_INTEGER;
LARGE_INTEGER litmp;
LONGLONG QPart1,QPart2;
double dfMinus, dfFreq, dfTim;
::QueryPerformanceFrequency(&litmp);
dfFreq = (double)litmp.QuadPart;
::QueryPerformanceCounter(&litmp);
QPart1 = litmp.QuadPart;
::Sleep(100);
::QueryPerformanceCounter(&litmp);
QPart2 = litmp.QuadPart;
dfMinus = (double)(QPart2-QPart1);
dfTim = dfMinus / dfFreq;
2 Linux 实现微秒级误差定时
3 Andriod实现微秒级误差定时