Szeretett volna egy C programot egy bizonyos ideig várni?
Beállíthat egy technikát, amely lehetővé teszi az idő eltelését, például: amikor egy játék splash oldalát (értesítést vagy tippet) jeleníti meg.
Oké, íme néhány módja annak, hogy a program "álljon meg", olvassa el…
Lépések
1. lépés Hajtsa végre a CPU -t egy ideig, anélkül, hogy észrevehető eseményeket hozna létre
2. lépés: A késleltetés alatt ne végezzen más műveletet, hogy egyszerű késleltetést hozzon létre
1. módszer a 2-ből: A "for-loop" technika
1. lépés Az időkésleltetés megvalósításához használjon tipikus "for" ciklust, majd null utasítást
2. lépés Írja le például a következőket:
- mert (i = 1; i <100; i ++);
- A nyilatkozatot a ";" a számítógépet 100 -szor hajtja végre a ciklust minden észrevehető esemény nélkül. Csak időkésleltetést okoz.
2. módszer 2 -ből: Az "alvás ()" technika
1. lépés. Alvás használata () Az alvás (int ms) nevű függvény, amelyben a program ezredmásodpercben várakozik a megadott időre
2. lépés. Az "int main ()" elé írja be a következő sort a programba:
#befoglalni
3. lépés. Szúrja be bárhová, ahol a programra szüksége van a késleltetéshez:
- alvás (1000);
- Módosítsa az "1000" értéket a várakozni kívánt ezredmásodpercekre (például ha 2 másodperces késleltetést szeretne végrehajtani, cserélje ki "2000" értékre.
- Tipp: Bizonyos rendszereken ez az érték másodpercekre vonatkozhat, ezredmásodpercek helyett. Tehát néha az 1000 nem egy másodperc, hanem valójában 1000 másodperc.
Tippek
- A fenti logika megvalósítható bármely hurokstruktúra használatával, amelyet egy null utasítás-";" követ, például a while vagy a do-while ciklusok használatával.
- Egy ezredmásodperc 1/1000 másodperc.
Figyelmeztetések
- Ez a technika általában haszontalan a triviális programon kívül. Általában használjon időzítőt vagy eseményvezérelt megközelítést ennek megvalósításához. Ellenkező esetben a program nem reagál a késleltetési idő alatt, és ez nem mindig jó. Ezenkívül az N kiválasztása a hurokban, ha az utasítás végrehajtásától függ, meglepő eredményeket hozhat. Nyilvánvaló, hogy az eredeti szerző soha nem hallott egy optimalizáló fordítóról … az optimalizálhatja a teljes ciklusát, ha valójában nem tesz semmit!
- Ha for-loop-ot használ, a fordító optimalizálhatja a kódot, és mivel a ciklus nem tesz semmit, eltávolítja azt. Ez nem történik meg a delay () használatakor.
- Ne feledje, hogy a for-loop technika használatakor nagyon nagy távolságra lehet szüksége az i-nél, mert az üres utasítás nagyon gyorsan végrehajtódik. Az ilyen nagy számok nem férnek el egy egész típusú típusban.