Hvordan forsinke i C: 7 trinn (med bilder)

Innholdsfortegnelse:

Hvordan forsinke i C: 7 trinn (med bilder)
Hvordan forsinke i C: 7 trinn (med bilder)

Video: Hvordan forsinke i C: 7 trinn (med bilder)

Video: Hvordan forsinke i C: 7 trinn (med bilder)
Video: Суп на Всю Семью из Огромной Рыбьей ГОЛОВЫ! БОРЩ в КАЗАНЕ! 2024, Kan
Anonim

Har du noen gang ønsket å få et C -program til å vente en viss tid?

Du kan sette opp en teknikk for å gi tid til å krysse av, for eksempel: når du viser en sprutside (et varsel eller hint) for et spill.

Ok, her er noen måter å få programmet til å "stå stille", les videre …

Trinn

Forsinkelse i C trinn 1
Forsinkelse i C trinn 1

Trinn 1. Få CPUen til å fungere en stund uten å produsere noen merkbar hendelse

Forsinkelse i C trinn 2
Forsinkelse i C trinn 2

Trinn 2. Gjør ingen andre operasjoner under forsinkelsen, for å lage en enkel tidsforsinkelse

Metode 1 av 2: "For-loop" -teknikken

Forsinkelse i C Trinn 3
Forsinkelse i C Trinn 3

Trinn 1. Bruk en typisk "for" -løkke etterfulgt av en null -setning for å implementere tidsforsinkelse

Forsinkelse i C trinn 4
Forsinkelse i C trinn 4

Trinn 2. Skriv som følger, for et eksempel:

  • for (i = 1; i <100; i ++);
  • Erklæringen etterfulgt av ";" får datamaskinen til å kjøre sløyfen 100 ganger uten merkbar hendelse. Det skaper bare en tidsforsinkelse.

Metode 2 av 2: "Sleep ()" -teknikken

Forsinkelse i C trinn 5
Forsinkelse i C trinn 5

Trinn 1. Bruk sleep () Funksjonen kalt sleep (int ms) deklarert som får programmet til å vente på den angitte tiden i millisekunder

Forsinkelse i C trinn 6
Forsinkelse i C trinn 6

Trinn 2. Inkluder følgende linje i programmet før "int main ()":

#inkludere

Forsinkelse i C trinn 7
Forsinkelse i C trinn 7

Trinn 3. Sett inn, uansett hvor du trenger programmet for å gjøre en forsinkelse:

  • søvn (1000);
  • Endre "1000" til antall millisekunder du vil vente (for eksempel hvis du vil gjøre en forsinkelse på 2 sekunder, bytt den ut med "2000".
  • Tips: På noen systemer kan verdien referere til sekunder, i stedet for millisekunder. Så noen ganger er 1000 ikke ett sekund, men faktisk 1000 sekunder.

Tips

  • Ovenstående logikk kan implementeres ved å bruke en hvilken som helst looping-struktur etterfulgt av en null-setning- ";", for eksempel ved å bruke while eller do-while-sløyfer.
  • Et millisekund er 1/1000 sekund.

Advarsler

  • Denne teknikken er generelt ubrukelig i alt annet enn et trivielt program. Generelt, bruk tidtakere eller en hendelsesdrevet tilnærming for å implementere dette. Ellers reagerer programmet ikke i løpet av forsinkelsen, og det er ikke alltid bra. Dessuten kan valg av N i løkken din, hvis det avhenger av utførelse av instruksjoner, ha overraskende resultater. Tilsynelatende har den opprinnelige forfatteren aldri hørt om en optimaliserende kompilator … den kan optimalisere hele løkken hvis den faktisk ikke gjør noe!
  • Hvis du bruker forløkken, kan kompilatoren optimalisere koden, og fordi løkken ikke gjør noe, kan du fjerne den. Dette skjer ikke når du bruker forsinkelse ().
  • Vær oppmerksom på at når du bruker for-loop-teknikken, kan du trenge et veldig stort spenn for i, fordi en tom setning utføres veldig raskt. Slike store tall passer kanskje ikke i en heltallstype.

Anbefalt: