Hoe een programma-uitvoeringsvertraging in c te organiseren
Heb je ooit een programma op C willen maken, welke lijnen een bepaalde tijd? U kunt bijvoorbeeld een manier configureren om "te" vliegen ", bijvoorbeeld: bij het weergeven van een pop-uppagina (melding of tip) om te spelen. . OK, hier zijn enkele manieren om een typeprogramma te maken "Blijf staan" (Sta stil), lees verder ...
Stappen
een. Laat uw processor al een tijdje werken zonder een merkbaar evenement te veroorzaken.

2. Voer geen andere bewerkingen uit tijdens deze vertraging om een eenvoudige tijdelijke vertraging te creëren.
Methode 1 van 2:
Methodikikla "for loop"een. Gebruik typischecycle"Voor", gevolgd door een lege operator om de vertraging te implementeren.

2. Schrijf als volgt, bijvoorbeeld:
Methode 2 van 2:
Methodiek"Slaap ()"een. Gebruik slaap ().De functie wordt genoemd (INT MS), aangegeven in

2. Schakel de volgende regel in aan uw programma"Int Main ()":

3. Invoegen waar het nodig is dat uw programma de vertraging maakt:
Voorbeeldcode
Een programma dat een bepaald aantal seconden verwacht:
#Erbij betrekken#Erbij betrekken int Hoofd () {int del- // de vertragingsperiodeprintf ("Voer de vertragingstijd in (in seconden): ") -Scanf ("% I",& Del) -del * = 1000- // Vermenigvuldig het met 1000 om te converteren naar Millisecondsdelay (DEL) - // Delay.Printf ("Klaar.") -Return 0-}
Een programma dat aftellen van 10 tot 0 uitvoert:
#Erbij betrekken#Erbij betrekken Main () {int i-for (i = 10- i> = 0- i -) {printf ("% in",i) - // schrijf de huidige `Countdown` nummerdelay (1000) - // wacht een tweede} Return 0-}
Tips
- Millisecunda is 1/1000 seconden.
- Het hierboven gespecificeerde algoritme kan worden geïmplementeerd met behulp van een cyclische structuur met de daaropvolgende nuloperator-"- Hoe te gebruiken terwijl of doe-while.
Waarschuwingen
- Deze methode is meestal nutteloos in iets anders dan het triviale programma. Gebruik in het algemeen timers of evenementgerichte aanpak om het te implementeren. Anders zal het programma niet reageren tijdens de vertragingstijd en het is niet altijd goed. Bovendien kan de keuze van n in de cyclus, indien het afhangt van de uitvoering van opdrachten, onverwachte resultaten. Blijkbaar heeft de bronauteur nooit gehoord over de optimaliserende compiler ... Het kan de hele cyclus optimaliseren als hij echt niets doet !
- Merk op dat wanneer u de "For-Loop" -methode ("Voor" -cyclus) gebruikt, kan het voor een zeer groot interval voor I nodig zijn, aangezien de lege operator zeer snel wordt uitgevoerd. Dergelijke grote aantallen passen mogelijk niet in geheel getal.
- Als u "for-lus" gebruikt, kan de compiler de code optimaliseren en aangezien de cyclus niets doet, verwijder deze. Dit gebeurt niet bij het gebruik van vertraging ().
Deel in het sociale netwerk: