Hoe te vertragen in C: 7 stappen (met afbeeldingen)

Inhoudsopgave:

Hoe te vertragen in C: 7 stappen (met afbeeldingen)
Hoe te vertragen in C: 7 stappen (met afbeeldingen)

Video: Hoe te vertragen in C: 7 stappen (met afbeeldingen)

Video: Hoe te vertragen in C: 7 stappen (met afbeeldingen)
Video: Chromebook: How to Copy & Paste w/ Keyboard Shortcut 2024, Mei
Anonim

Heb je ooit een C-programma een bepaalde tijd willen laten wachten?

U kunt een techniek instellen om de tijd te laten wegtikken, bijvoorbeeld: bij het tonen van een splash-pagina (een mededeling of hint) voor een game.

Oké, hier zijn enkele manieren om het programma "stil te laten staan", lees verder…

Stappen

Vertraging in C Stap 1
Vertraging in C Stap 1

Stap 1. Laat uw CPU enige tijd werken zonder een merkbare gebeurtenis te veroorzaken

Vertraging in C Stap 2
Vertraging in C Stap 2

Stap 2. Voer geen andere handeling uit tijdens die vertraging, om een eenvoudige vertraging te creëren

Methode 1 van 2: De "for-loop"-techniek

Vertraging in C Stap 3
Vertraging in C Stap 3

Stap 1. Gebruik een typische "for"-lus gevolgd door een null-instructie om tijdvertraging te implementeren

Vertraging in C Stap 4
Vertraging in C Stap 4

Stap 2. Schrijf als volgt, bijvoorbeeld:

  • voor (i=1; i<100; i++);
  • De verklaring gevolgd door de ";" zorgt ervoor dat de computer de lus 100 keer uitvoert zonder enige merkbare gebeurtenis. Het zorgt alleen maar voor vertraging.

Methode 2 van 2: De "slaap()"-techniek

Vertraging in C Stap 5
Vertraging in C Stap 5

Stap 1. Gebruik sleep() De functie genaamd sleep(int ms) gedeclareerd waarin het programma wacht op de opgegeven tijd in milliseconden

Vertraging in C Stap 6
Vertraging in C Stap 6

Stap 2. Neem de volgende regel op in uw programma vóór "int main()":

#erbij betrekken

Vertraging in C Stap 7
Vertraging in C Stap 7

Stap 3. Invoegen, waar je je programma ook nodig hebt om een vertraging te maken:

  • slaap (1000);
  • Wijzig de "1000" in het aantal milliseconden dat u wilt wachten (als u bijvoorbeeld een vertraging van 2 seconden wilt maken, vervangt u deze door "2000".
  • Tip: Op sommige systemen kan de waarde verwijzen naar seconden in plaats van milliseconden. Dus soms is 1000 niet één seconde, maar in feite 1000 seconden.

Tips

  • De bovenstaande logica kan worden geïmplementeerd door elke lusstructuur te gebruiken gevolgd door een null-statement-";", zoals door while- of do-while-lussen te gebruiken.
  • Een milliseconde is 1/1000 van een seconde.

Waarschuwingen

  • Deze techniek is over het algemeen nutteloos in iets anders dan een triviaal programma. Gebruik in het algemeen timers of een gebeurtenisgestuurde aanpak om dit te implementeren. Anders reageert het programma tijdens de vertragingstijd niet meer, en dat is niet altijd een goede zaak. Bovendien kan het kiezen van N in je lus, als het afhangt van de uitvoering van instructies, verrassende resultaten opleveren. Blijkbaar heeft de oorspronkelijke auteur nog nooit gehoord van een optimaliserende compiler… het kan de hele lus optimaliseren als het eigenlijk niets doet!
  • Als u de for-loop gebruikt, kan de compiler de code optimaliseren en, omdat de lus niets doet, deze verwijderen. Dit gebeurt niet bij gebruik van delay().
  • Merk op dat wanneer je de for-loop-techniek gebruikt, je misschien een heel grote span voor i nodig hebt, omdat een leeg statement erg snel wordt uitgevoerd. Zulke grote getallen passen misschien niet in een geheel getal.

Aanbevolen: