> void gettimeofday(struct timeval* pTv, void *pDummy);
> {
> SYSTEMTIME sysTime;
> FILETIME fileTime; /* 100ns == 1 */
> LARGE_INTEGER i;
>
> GetSystemTime(&sysTime);
> SystemTimeToFileTime(&sysTime, &fileTime);
> /* Documented as the way to get a 64 bit from a FILETIME. */
> memcpy(&i, &fileTime, sizeof(LARGE_INTEGER));
>
> pTv->tv_sec = i.QuadPart / 10000000; /*10e7*/
> pTv->tv_usec = (i.QuadPart / 10) % 1000000; /*10e6*/
>
> }
For speed reason, you can use GetSystemTimeAsFileTime(), which is
very efficient. The Win32 is little-endian only operating system.
You can use the following code.
void gettimeofday(struct timeval* pTv, void *pDummy);
{
__int64 l;
GetSystemTimeAsFileTime((LPFILETIME) &l);
pTv->tv_sec = (long) l / 10000000; /*10e7*/
pTv->tv_usec = (unsigned long) (i.QuadPart / 10) % 1000000; /*10e6*/
}
You missed the cast.
Hong