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

  1. Slika pod nazivom Kašnjenje u C 1. Korak 1
jedan. Neka vaš procesor radi neko vrijeme, a da ne izaziva uočljiv događaj.
  • Slika pod nazivom kašnjenje u C Korak 2
    2. Ne obavljajte druge operacije tokom ovog kašnjenja kako biste stvorili jednostavno privremeno kašnjenje.
  • Metoda 1 od 2:
    Metodikikla "za petlju"
    1. Image Nasloven kašnjenje u C Korak 3
    jedan. Upotrijebite tipično"Za", nakon čega slijedi prazan operator za implementaciju kašnjenja.
  • Slika pod nazivom Kašnjenje u C Korak 4
    2. Napišite kako slijedi, na primjer:
  • za (i = 1 - ja<100>
  • Operator koji ide nakon "-" čini da računar izvrši ciklus 100 puta bez uočljivog događaja. Samo stvara privremeno kašnjenje.
  • Metoda 2 od 2:
    Metodik"Spavanje ()"
    1. Slika pod nazivom Kašnjenje u C Korak 5
    jedan. Koristite mirovanje ().Funkcija se zove (int MS), proglašena u
  • Slika pod nazivom Kašnjenje u C Korak 6
    2. Omogućite sljedeću liniju na vaš program"Int main ()":
  • #Include
  • Slika pod nazivom kašnjenje u C Korak 7
    3. Umetnite tamo gdje je potrebno da vaš program izvrši kašnjenje:
  • Spavanje (1000);
  • Promijeniti "1000" Na broju milisekundi sačekate (na primjer, ako želite napraviti 2-sekundnu kašnjenje, zamijenite"2000".
  • Savjet: U nekim sustavima vrijednost može biti navedena u sekundi umjesto milisekundi. Stoga, ponekad 1000 - nije 1 s, ali u stvari 1000 sekundi.
  • 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 ().
    Slične publikacije