Com retardar en C: 7 passos (amb imatges)

Taula de continguts:

Com retardar en C: 7 passos (amb imatges)
Com retardar en C: 7 passos (amb imatges)

Vídeo: Com retardar en C: 7 passos (amb imatges)

Vídeo: Com retardar en C: 7 passos (amb imatges)
Vídeo: ✅ Cómo COPIAR y PEGAR en Chromebook 2024, Maig
Anonim

Alguna vegada heu volgut esperar un programa C durant un temps determinat?

Podeu configurar una tècnica que permeti que es perdi el temps, per exemple: quan es mostra una pàgina de presentació (un avís o una pista) per a un joc.

D’acord, aquí teniu algunes maneres de fer que el programa “quedi quiet”, seguiu llegint …

Passos

Retard al pas C 1
Retard al pas C 1

Pas 1. Feu que la vostra CPU funcioni durant un temps sense produir cap esdeveniment notable

Retard en C Pas 2
Retard en C Pas 2

Pas 2. No feu cap altra operació durant aquest retard, per tal de crear un simple retard de temps

Mètode 1 de 2: la tècnica "for-loop"

Retard al pas 3
Retard al pas 3

Pas 1. Utilitzeu un bucle típic "per" seguit d'una declaració nul·la per implementar un retard de temps

Retard al pas 4
Retard al pas 4

Pas 2. Escriviu el següent, per a un exemple:

  • per a (i = 1; i <100; i ++);
  • La declaració seguida de la frase ";" fa que l'ordinador executi el bucle 100 vegades sense cap esdeveniment notable. Simplement crea un retard de temps.

Mètode 2 de 2: la tècnica "sleep ()"

Retard al pas C de 5
Retard al pas C de 5

Pas 1. Utilitzeu sleep () La funció anomenada sleep (int ms) declarada en què fa esperar el programa el temps en mil·lisegons especificat

Retard al pas C de 6
Retard al pas C de 6

Pas 2. Incloeu la línia següent al programa abans de "int main ()":

#incloure

Retard en C Pas 7
Retard en C Pas 7

Pas 3. Inseriu, allà on necessiteu que el vostre programa faci un retard:

  • dormir (1000);
  • Canvieu el "1000" pel nombre de mil·lisegons que voleu esperar (per exemple, si voleu fer un retard de 2 segons, substituïu-lo per "2000".
  • Consell: en alguns sistemes, el valor pot referir-se a segons, en lloc de mil·lisegons. De manera que de vegades 1000 no són un segon, però, de fet, 1000 segons.

Consells

  • La lògica anterior es pot implementar utilitzant qualsevol estructura de bucle seguida d'una declaració nul·la ";", com fent servir bucles while o do-while.
  • Un mil·lisegon és 1/1000 de segon.

Advertiments

  • Aquesta tècnica és generalment inútil en qualsevol cosa que no sigui un programa trivial. En general, utilitzeu temporitzadors o un enfocament basat en esdeveniments per implementar-ho. En cas contrari, el programa deixarà de respondre durant el temps de retard, i això no sempre és bo. A més, triar N al bucle, si depèn de l'execució de la instrucció, pot tenir resultats sorprenents. Pel que sembla, l'autor original mai no ha sentit parlar d'un compilador d'optimització … pot optimitzar tot el bucle si realment no fa res.
  • Si utilitzeu el bucle for, el compilador pot optimitzar el codi i, com que el bucle no fa res, traieu-lo. Això no passa quan s'utilitza delay ().
  • Tingueu en compte que quan utilitzeu la tècnica de bucle, és possible que necessiteu un interval molt gran per a i, perquè una instrucció buida s'executa molt ràpidament. És possible que aquests números tan grans no encaixin en un tipus enter.

Recomanat: