C/Visual C - timer

 
Vista:

timer

Publicado por szyslak (12 intervenciones) el 11/10/2000 00:00:00
Saludos a todos
me dirijo de nuevo a este foro para ver si me podéis ayudar con la siguiente dudilla:

desde que empezé a programar me di cuenta que uno de los problemas que tenía es que mis programas, como es lógico, corren más en procesadores más potentes y por tanto si utilizo la función delay() y pongo como argumento 1000 por ejemplo, en un 286 la ejecución se retardará dos o tres segundos pero en un PII a 400Mhz no tardará ni un segundo.

He oido que para solucionar eso hay que programar sobre el reloj interno del procesador y por tanto me gustaría que alguien me explicara lo más detalladamente posile cómo hacerlo. Tengo conocimientos básicos de ensamblador y manejo Turbo C 2.01.

Agradecería cualquier información / manual / código fuente sobre este asunto

Gracias por anticipado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Sleep

Publicado por Fabián Sierra Carvajal (50 intervenciones) el 11/10/2000 00:00:00
La pregunta básica es ¿cuánto deseas esperar? Si el plazo de espera es una
cantidad entera de segundos, usa sleep(segundos), que no cambia con la velocidad
del procesador. Si necesitas un ajuste más fino, puedes usar clock() para contar los
tics del reloj. Así:
void espera(unsigned int lapso){
time_t start;
start=clock();
while( (clock() - start) < lapso);
}
Es una mala solución (ocupa al procesador en una nadería), pero sirve, y debiera
proporcionar la precisión suficiente.
¡Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sleep

Publicado por szyslak (12 intervenciones) el 11/10/2000 00:00:00
Muchas gracias, era justo lo que necesitaba.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar