Absolute Forsinkelser i C / C under seier 98/xp/nt

V

visweswara

Guest
Hvordan programmet å generere sanntid forsinkelse på mikrosekund eller millisekund ved hjelp av C / C under Windows 98/xp/nt?

 
det du trenger er

void delaySeconds (float sekunder)
(
__int64 timeEllapsed;
__int64 timeStart;
__int64 timeDelta;

QueryPerformanceFrequency ((LARGE_INTEGER *) (& timeDelta));
QueryPerformanceCounter ((LARGE_INTEGER *) (& timeStart));

__int64 timeToWait = (double) timeDelta * (double) sekunder;

timeEllapsed = timeStart;

while ((timeEllapsed - timeStart) <timeToWait)
(
QueryPerformanceCounter ((LARGE_INTEGER *) (& timeEllapsed));

);
)

void delayMiliSeconds (float miliseconds)
(
__int64 timeEllapsed;
__int64 timeStart;
__int64 timeDelta;

QueryPerformanceFrequency ((LARGE_INTEGER *) (& timeDelta));

__int64 timeToWait = (double) timeDelta * (double) miliseconds/1000.0f;

QueryPerformanceCounter ((LARGE_INTEGER *) (& timeStart));

timeEllapsed = timeStart;

while ((timeEllapsed - timeStart) <timeToWait)
(
QueryPerformanceCounter ((LARGE_INTEGER *) (& timeEllapsed));

);
)

void delayMicroSeconds (float mikrosekunder)
(
__int64 timeEllapsed;
__int64 timeStart;
__int64 timeDelta;

QueryPerformanceFrequency ((LARGE_INTEGER *) (& timeDelta));

__int64 timeToWait = (double) timeDelta * (double) mikrosekunder / 1000000.0f;

QueryPerformanceCounter ((LARGE_INTEGER *) (& timeStart));

timeEllapsed = timeStart;

while ((timeEllapsed - timeStart) <timeToWait)
(
QueryPerformanceCounter ((LARGE_INTEGER *) (& timeEllapsed));

);
)

 

Welcome to EDABoard.com

Sponsor

Back
Top