Kas olete kunagi tahtnud C -programmi teatud aega oodata?
Saate seadistada tehnika, mis võimaldab teil aega märgistada, näiteks: mängu mängulehe (teate või vihje) kuvamisel.
Olgu, siin on mõned viisid, kuidas muuta programm "seisma", loe edasi …
Sammud
Samm 1. Pange oma protsessor mõnda aega tööle ilma märgatavat sündmust tekitamata
Samm 2. Ärge tehke selle viivituse ajal muid toiminguid, et tekitada lihtne viivitus
Meetod 1: 2: "silmuse jaoks" tehnika
Samm 1. Ajaviivituse rakendamiseks kasutage tüüpilist tsüklit "for", millele järgneb null -avaldus
Samm 2. Näite jaoks kirjutage järgmiselt
- jaoks (i = 1; i <100; i ++);
- Avaldusele järgneb ";" paneb arvuti täitma tsüklit 100 korda ilma märgatavate sündmusteta. See tekitab lihtsalt ajaviite.
Meetod 2/2: "une ()" tehnika
1. samm. Kasutage unerežiimi () Funktsioon nimega uni (int ms), milles programm ootab määratud aega millisekundites
Samm 2. Enne programmi "int main ()" lisage oma programmi järgmine rida:
#kaasake
Samm 3. Sisestage kõikjale, kuhu vajate oma programmi viivituse tegemiseks:
- uni (1000);
- Muutke "1000" millisekundite arvuks, mida soovite oodata (näiteks kui soovite 2 -sekundilist viivitust, asendage see "2000" -ga.
- Näpunäide. Mõnes süsteemis võib väärtus viidata millisekundite asemel sekunditele. Nii et mõnikord pole 1000 sekundit, vaid tegelikult 1000 sekundit.
Näpunäiteid
- Ülaltoodud loogikat saab rakendada, kasutades mis tahes silmusstruktuuri, millele järgneb nulllause-";", näiteks kasutades tsüklit while või do-while.
- Millisekund on 1/1000 sekundit.
Hoiatused
- See tehnika on üldiselt kasutu peale tühise programmi. Üldiselt kasutage selle rakendamiseks taimerit või sündmuspõhist lähenemist. Vastasel juhul ei reageeri programm viivituse ajal enam ja see pole alati hea. Pealegi võib N -i valimine oma ahelas, kui see sõltub käskude täitmisest, anda üllatavaid tulemusi. Ilmselt pole algne autor kunagi kuulnud optimeerivast kompilaatorist … see võib optimeerida kogu silmuse, kui see tegelikult midagi ei tee!
- Kui kasutate for-loop, võib kompilaator koodi optimeerida ja kuna tsükkel ei tee midagi, eemaldab selle. Seda ei juhtu viivituse () kasutamisel.
- Pange tähele, et for-loop tehnikat kasutades võib teil olla vaja i jaoks väga suurt vahemikku, sest tühi avaldus täidetakse väga kiiresti. Sellised suured numbrid ei pruugi mahtuda täisarvu tüüpi.