Jeste li ikada htjeli da program C čeka određeno vrijeme?
Možete postaviti tehniku koja će omogućiti da vrijeme otkuca, na primjer: pri prikazivanju uvodne stranice (obavijest ili nagovještaj) za igru.
U redu, evo nekoliko načina da učinite da program "miruje", čitajte dalje …
Koraci
Korak 1. Neka vaš CPU radi neko vrijeme bez stvaranja bilo kakvog uočljivog događaja
Korak 2. Ne radite ništa drugo tokom tog kašnjenja kako biste stvorili jednostavno vremensko kašnjenje
Metoda 1 od 2: Tehnika "for-loop"
Korak 1. Koristite tipičnu "for" petlju nakon koje slijedi null izraz za implementaciju vremenskog kašnjenja
Korak 2. Za primjer napišite sljedeće:
- za (i = 1; i <100; i ++);
- Izjava iza koje slijedi ";" tera računar da izvrši petlju 100 puta bez ikakvog uočljivog događaja. To samo stvara vremensko kašnjenje.
Metoda 2 od 2: Tehnika "sleep ()"
Korak 1. Upotrijebite sleep () Funkciju zvanu sleep (int ms) deklariranu u kojoj program čeka u određenim milisekundama
Korak 2. Uključite sljedeći red u svoj program prije "int main ()":
#include
Korak 3. Umetnite gdje god vam je potreban program da biste napravili kašnjenje:
- spavanje (1000);
- Promijenite "1000" na broj milisekundi koje želite čekati (na primjer, ako želite odgoditi 2 sekunde, zamijenite ga sa "2000".
- Savjet: Na nekim sistemima vrijednost se može odnositi na sekunde, umjesto na milisekunde. Tako ponekad 1000 nije jedna sekunda, već, zapravo, 1000 sekundi.
Savjeti
- Gornja logika može se implementirati korištenjem bilo koje strukture petlje iza koje slijedi null izraz- ";", poput korištenja while ili do-while petlji.
- Milisekunda je 1/1000 sekunde.
Upozorenja
- Ova tehnika je općenito beskorisna u bilo čemu osim u trivijalnom programu. Općenito, upotrijebite tajmere ili pristup vođen događajima da biste to implementirali. U suprotnom, program će prestati reagirati za vrijeme kašnjenja, što nije uvijek dobro. Osim toga, odabir N u vašoj petlji, ako to ovisi o izvršavanju instrukcija, može imati iznenađujuće rezultate. Očigledno je da originalni autor nikad nije čuo za optimizacijski kompajler … mogao bi optimizirati cijelu petlju ako zapravo ne radi ništa!
- Ako koristite for-loop, kompajler može optimizirati kôd i, jer petlja ne radi ništa, ukloniti ga. To se ne događa pri korištenju delay ().
- Imajte na umu da će vam pri upotrebi for-loop tehnike trebati vrlo veliki raspon za i, jer se prazna naredba izvršava vrlo brzo. Takvi veliki brojevi možda se ne uklapaju u cijeli broj.