Абсолютно Закъсненията в C / C по спечелите 98/xp/nt

V

visweswara

Guest
Как да се програма за генериране в реално време на забавяне на микросекунда или милисекунда използвате C / C под прозорците 98/xp/nt?

 
това, което ви трябва, е

нищожен delaySeconds (флоат секунди)
(
__int64 timeEllapsed;
__int64 timeStart;
__int64 timeDelta;

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

__int64 timeToWait = (двойно) timeDelta * (двойно) секунди;

timeEllapsed = timeStart;

докато ((timeEllapsed - timeStart) <timeToWait)
(
QueryPerformanceCounter ((LARGE_INTEGER *) (& timeEllapsed));

);
)

нищожен delayMiliSeconds (флоат miliseconds)
(
__int64 timeEllapsed;
__int64 timeStart;
__int64 timeDelta;

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

__int64 timeToWait = (двойно) timeDelta * (двойно) miliseconds/1000.0f;

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

timeEllapsed = timeStart;

докато ((timeEllapsed - timeStart) <timeToWait)
(
QueryPerformanceCounter ((LARGE_INTEGER *) (& timeEllapsed));

);
)

нищожен delayMicroSeconds (флоат микросекунди)
(
__int64 timeEllapsed;
__int64 timeStart;
__int64 timeDelta;

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

__int64 timeToWait = (двойно) timeDelta * (двойно) микросекунди / 1000000.0f;

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

timeEllapsed = timeStart;

докато ((timeEllapsed - timeStart) <timeToWait)
(
QueryPerformanceCounter ((LARGE_INTEGER *) (& timeEllapsed));

);
)

 

Welcome to EDABoard.com

Sponsor

Back
Top