Come ritardare in C: 7 passaggi (con immagini)

Sommario:

Come ritardare in C: 7 passaggi (con immagini)
Come ritardare in C: 7 passaggi (con immagini)

Video: Come ritardare in C: 7 passaggi (con immagini)

Video: Come ritardare in C: 7 passaggi (con immagini)
Video: How to Copy and Paste on a Chromebook | Chromebook Tips: How to Copy and Paste Text 2024, Maggio
Anonim

Hai mai voluto far aspettare un programma C per un certo tempo?

È possibile impostare una tecnica per consentire al tempo di scorrere via, ad esempio: quando si mostra una pagina iniziale (un avviso o un suggerimento) per un gioco.

Ok, ecco alcuni modi per "fermare" il programma, continua a leggere…

Passi

Ritardo in Do Passo 1
Ritardo in Do Passo 1

Passaggio 1. Fai funzionare la tua CPU per un po' di tempo senza produrre alcun evento evidente

Ritardo in Do Passo 2
Ritardo in Do Passo 2

Passaggio 2. Non eseguire altre operazioni durante tale ritardo, al fine di creare un semplice ritardo temporale

Metodo 1 di 2: La tecnica "for-loop"

Ritardo in Do Passo 3
Ritardo in Do Passo 3

Passaggio 1. Utilizzare un tipico ciclo "for" seguito da un'istruzione null per implementare il ritardo

Ritardo in Do Passo 4
Ritardo in Do Passo 4

Passaggio 2. Scrivi come segue, ad esempio:

  • for (i=1; i<100; i++);
  • L'istruzione seguita dal ";" fa in modo che il computer esegua il ciclo 100 volte senza alcun evento evidente. Crea solo un ritardo temporale.

Metodo 2 di 2: La tecnica "sleep()"

Ritardo in Do Passo 5
Ritardo in Do Passo 5

Passaggio 1. Utilizzare sleep() La funzione denominata sleep(int ms) dichiarata in cui fa attendere il programma per il tempo in millisecondi specificato

Ritardo in Do Passo 6
Ritardo in Do Passo 6

Passaggio 2. Includere la seguente riga nel programma prima di "int main()":

#includere

Ritardo in Do Step 7
Ritardo in Do Step 7

Passaggio 3. Inserisci, ovunque ti serva il tuo programma per effettuare un ritardo:

  • sonno(1000);
  • Cambia "1000" con il numero di millisecondi che vuoi aspettare (ad esempio, se vuoi fare un ritardo di 2 secondi, sostituiscilo con "2000".
  • Suggerimento: su alcuni sistemi il valore potrebbe fare riferimento ai secondi, invece che ai millisecondi. Quindi a volte 1000 non è un secondo, ma, in effetti, 1000 secondi.

Suggerimenti

  • La logica di cui sopra può essere implementata utilizzando qualsiasi struttura di ciclo seguita da un'istruzione null-";", come utilizzando i cicli while o do-while.
  • Un millisecondo è 1/1000 di secondo.

Avvertenze

  • Questa tecnica è generalmente inutile in qualcosa che non sia un banale programma. In generale, utilizzare timer o un approccio basato sugli eventi per implementarlo. Altrimenti il programma non risponderà durante il tempo di ritardo, e questa non è sempre una buona cosa. Inoltre, la scelta di N nel ciclo, se dipende dall'esecuzione dell'istruzione, può avere risultati sorprendenti. Apparentemente l'autore originale non ha mai sentito parlare di un compilatore ottimizzatore … potrebbe ottimizzare l'intero ciclo se in realtà non fa nulla!
  • Se stai usando il ciclo for, il compilatore può ottimizzare il codice e, poiché il ciclo non fa nulla, rimuoverlo. Questo non accade quando si usa delay().
  • Nota che quando usi la tecnica del ciclo for, potresti aver bisogno di un intervallo molto grande per i, perché un'istruzione vuota viene eseguita molto velocemente. Numeri così grandi potrebbero non rientrare in un tipo intero.

Consigliato: