Ar kada nors norėjote priversti C programą palaukti tam tikrą laiką?
Galite nustatyti techniką, leidžiančią spustelėti laiką, pavyzdžiui: rodant žaidimo puslapį (pranešimą ar užuominą).
Gerai, čia yra keletas būdų, kaip programą „sustabdyti“, skaitykite toliau …
Žingsniai
Žingsnis 1. Priverskite savo CPU kurį laiką veikti nesukeliant jokių pastebimų įvykių
Žingsnis 2. Per šį uždelsimą nedarykite jokių kitų veiksmų, kad būtų sukurtas paprastas laiko atidėjimas
1 iš 2 metodas: „For-loop“technika
Žingsnis 1. Naudokite tipišką ciklą „už“, po kurio eina nulinis teiginys, kad būtų įgyvendintas laiko atidėjimas
2 žingsnis. Pavyzdžiui, parašykite taip:
- dėl (i = 1; i <100; i ++);
- Pareiškimas, po kurio eina „;“priverčia kompiuterį vykdyti ciklą 100 kartų be jokių pastebimų įvykių. Tai tik sukuria laiko vėlavimą.
2 metodas iš 2: „miego ()“technika
1 veiksmas. Naudokite miego režimą () Funkcija, vadinama miego režimu (int ms), kurioje programa palaukia nurodytą laiką milisekundėmis
2 veiksmas. Įtraukite šią eilutę į savo programą prieš „int main ()“:
#įtraukti
Žingsnis 3. Įdėkite bet kur, kur reikia, kad programa atidėtų:
- miegas (1000);
- Pakeiskite „1000“į norimų laukti milisekundžių skaičių (pavyzdžiui, jei norite atidėti 2 sekundes, pakeiskite jį „2000“.
- Patarimas: kai kuriose sistemose vertė gali reikšti sekundes, o ne milisekundes. Taigi kartais 1000 nėra viena sekundė, bet iš tikrųjų 1000 sekundžių.
Patarimai
- Pirmiau minėta logika gali būti įgyvendinta naudojant bet kokią ciklinę struktūrą, po kurios eina nulinis teiginys „;“, pvz., Naudojant ciklus „while“arba „do-while“.
- Milisekundė yra 1/1000 sekundės.
Įspėjimai
- Ši technika paprastai nenaudinga niekam, išskyrus trivialią programą. Norėdami tai padaryti, paprastai naudokite laikmačius arba įvykius pagrįstą metodą. Priešingu atveju programa per vėlavimo laiką nereaguoja, ir tai ne visada yra gerai. Be to, pasirinkus N cikle, jei tai priklauso nuo nurodymų vykdymo, gali būti stebėtinų rezultatų. Matyt, pirminis autorius niekada negirdėjo apie optimizuojantį kompiliatorių … jis gali optimizuoti visą ciklą, jei iš tikrųjų nieko nedaro!
- Jei naudojate for-loop, kompiliatorius gali optimizuoti kodą ir, nes ciklas nieko nedaro, jį pašalinti. Tai neįvyksta naudojant uždelsimą ().
- Atminkite, kad naudojant „for-loop“techniką, jums gali prireikti labai didelio „i“intervalo, nes tuščias teiginys vykdomas labai greitai. Tokie dideli skaičiai gali netilpti sveikojo tipo.