Kako organizirati kašnjenje izvršenja programa u c
Jeste li ikad željeli stvoriti program na C, koji linira određeno vrijeme? Možete konfigurirati način za "let", na primjer: prilikom prikazivanja skočne stranice (obavijest ili savjet) za reprodukciju. . OK, evo nekoliko načina za stvaranje programa tipa "Stanite mirno" (stanite mirno), čitajte dalje ...
Korake
jedan. Neka vaš procesor radi neko vrijeme, a da ne izaziva uočljiv događaj.
2. Ne obavljajte druge operacije tokom ovog kašnjenja kako biste stvorili jednostavno privremeno kašnjenje.
Metoda 1 od 2:
Metodikikla "za petlju"jedan. Upotrijebite tipično"Za", nakon čega slijedi prazan operator za implementaciju kašnjenja.
2. Napišite kako slijedi, na primjer:
Metoda 2 od 2:
Metodik"Spavanje ()"jedan. Koristite mirovanje ().Funkcija se zove (int MS), proglašena u
2. Omogućite sljedeću liniju na vaš program"Int main ()":
3. Umetnite tamo gdje je potrebno da vaš program izvrši kašnjenje:
UZORAK Šifra
Program koji očekuje određeni broj sekundi:
#Include#Include Int glavna () {int del- // period kašnjenja otisnica ("Unesite vrijeme kašnjenja (u sekundi): ") -Skanf ("% I",& del) -Del * = 1000- // Pomnožite ga za 1000 za pretvaranje u MilliseCondsDelay (del) - // kašnjenje.Printf ("Gotov.") -Return 0-}
Program koji vrši odbrojavanje od 10 do 0:
#Include#Include glavna () {int i-for (i = 10- i> = 0- i -) {printf ("% i n",i) - // Napišite trenutni broj brojanja `(1000) - // pričekajte sekundu} povratak 0-}
Savjeti
- Millisecunda je 1/1000 sekundi.
- Gore navedeni algoritam može se implementirati pomoću bilo kakve ciklične strukture s naknadnim nultom operaterom-"- Kako koristiti dok ili radite - dok.
Upozorenja
- Ova metoda je obično beskorisna u bilo kojem drugom osim trivijalnom programu. Općenito, koristite tajmere ili pristup orijentiran na događaj da ga implementirate. U suprotnom, program neće odgovoriti tokom vremena kašnjenja i nije uvijek dobar. Pored toga, izbor n u ciklusu, ako ovisi o izvršenju naredbi, može imati neočekivane rezultate. Očigledno, autor izvor nikada nije čuo za optimizaciju prevoditelja ... Može optimizirati cijeli ciklus ako zapravo ništa ne čini !
- Imajte na umu da prilikom upotrebe metode "FOR-LOOP" ("Za" ciklus), možda će biti potrebno za vrlo veliki interval za i, jer se prazan operater izvodi vrlo brzo. Takvi veliki brojevi ne mogu uklopiti u cijeli broj.
- Ako koristite "For-Loop", prevodilac može optimizirati kôd, a jer ciklus ne radi ništa, ukloni je. To se ne događa prilikom korištenja kašnjenja ().