Πώς να καθυστερήσετε σε C: 7 βήματα (με εικόνες)

Πίνακας περιεχομένων:

Πώς να καθυστερήσετε σε C: 7 βήματα (με εικόνες)
Πώς να καθυστερήσετε σε C: 7 βήματα (με εικόνες)

Βίντεο: Πώς να καθυστερήσετε σε C: 7 βήματα (με εικόνες)

Βίντεο: Πώς να καθυστερήσετε σε C: 7 βήματα (με εικόνες)
Βίντεο: Συντομεύσεις πληκτρολογίου 2024, Ενδέχεται
Anonim

Θέλατε ποτέ να κάνετε ένα πρόγραμμα C να περιμένει για συγκεκριμένο χρόνο;

Μπορείτε να ορίσετε μια τεχνική που θα επιτρέπει να περνάει ο χρόνος, για παράδειγμα: όταν εμφανίζετε μια σελίδα παφλασμών (ειδοποίηση ή υπόδειξη) για ένα παιχνίδι.

Εντάξει, εδώ είναι μερικοί τρόποι για να κάνετε το πρόγραμμα να "σταματήσει", διαβάστε παρακάτω…

Βήματα

Καθυστέρηση στο C Βήμα 1
Καθυστέρηση στο C Βήμα 1

Βήμα 1. Βάλτε τη CPU να λειτουργήσει για κάποιο χρονικό διάστημα χωρίς να δημιουργήσετε κάποιο αξιοσημείωτο συμβάν

Καθυστέρηση στο C Βήμα 2
Καθυστέρηση στο C Βήμα 2

Βήμα 2. Μην κάνετε καμία άλλη λειτουργία κατά τη διάρκεια αυτής της καθυστέρησης, προκειμένου να δημιουργήσετε μια απλή χρονική καθυστέρηση

Μέθοδος 1 από 2: Η τεχνική "for-loop"

Καθυστέρηση στο C Βήμα 3
Καθυστέρηση στο C Βήμα 3

Βήμα 1. Χρησιμοποιήστε έναν τυπικό βρόχο "for" ακολουθούμενο από μια μηδενική πρόταση για την υλοποίηση χρονικής καθυστέρησης

Καθυστέρηση στο C Βήμα 4
Καθυστέρηση στο C Βήμα 4

Βήμα 2. Γράψτε ως εξής, για παράδειγμα:

  • για (i = 1; i <100; i ++);
  • Η δήλωση ακολουθείται από το ";" κάνει τον υπολογιστή να εκτελέσει το βρόχο 100 φορές χωρίς κανένα αξιοσημείωτο συμβάν. Δημιουργεί απλώς μια χρονική καθυστέρηση.

Μέθοδος 2 από 2: Η τεχνική "ύπνου ()"

Καθυστέρηση στο C Βήμα 5
Καθυστέρηση στο C Βήμα 5

Βήμα 1. Χρήση ύπνου () Η συνάρτηση που ονομάζεται sleep (int ms) που δηλώνεται στην οποία κάνει το πρόγραμμα να περιμένει το χρόνο σε καθορισμένα χιλιοστά του δευτερολέπτου

Καθυστέρηση στο C Βήμα 6
Καθυστέρηση στο C Βήμα 6

Βήμα 2. Συμπεριλάβετε την ακόλουθη γραμμή στο πρόγραμμά σας πριν από το "int main ()":

#περιλαμβάνω

Καθυστέρηση στο C Βήμα 7
Καθυστέρηση στο C Βήμα 7

Βήμα 3. Εισαγάγετε, όπου χρειάζεστε το πρόγραμμά σας για καθυστέρηση:

  • ύπνος (1000)?
  • Αλλάξτε το "1000" στον αριθμό των χιλιοστών του δευτερολέπτου που θέλετε να περιμένετε (για παράδειγμα, εάν θέλετε να κάνετε καθυστέρηση 2 δευτερολέπτων, αντικαταστήστε το με "2000".
  • Συμβουλή: Σε ορισμένα συστήματα η τιμή μπορεί να αναφέρεται σε δευτερόλεπτα, αντί για χιλιοστά του δευτερολέπτου. Έτσι μερικές φορές το 1000 δεν είναι ένα δευτερόλεπτο, αλλά, στην πραγματικότητα, 1000 δευτερόλεπτα.

Συμβουλές

  • Η παραπάνω λογική μπορεί να εφαρμοστεί χρησιμοποιώντας οποιαδήποτε δομή βρόχου ακολουθούμενη από μια μηδενική πρόταση- ";", όπως χρησιμοποιώντας βρόχους while ή do-while.
  • Ένα χιλιοστό του δευτερολέπτου είναι 1/1000 του δευτερολέπτου.

Προειδοποιήσεις

  • Αυτή η τεχνική είναι γενικά άχρηστη σε οτιδήποτε εκτός από ένα ασήμαντο πρόγραμμα. Σε γενικές γραμμές, χρησιμοποιήστε χρονοδιακόπτες ή μια προσέγγιση βάσει γεγονότων για να το εφαρμόσετε. Διαφορετικά, το πρόγραμμα δεν θα ανταποκρίνεται κατά τη διάρκεια του χρόνου καθυστέρησης και αυτό δεν είναι πάντα καλό. Εκτός αυτού, η επιλογή N στο βρόχο σας, εάν εξαρτάται από την εκτέλεση της εντολής, μπορεί να έχει εκπληκτικά αποτελέσματα. Προφανώς ο αρχικός συγγραφέας δεν έχει ακούσει ποτέ για έναν βελτιστοποιητή μεταγλωττιστή… μπορεί να βελτιστοποιήσει ολόκληρο τον βρόχο εάν δεν κάνει τίποτα!
  • Εάν χρησιμοποιείτε τον βρόχο for, ο μεταγλωττιστής μπορεί να βελτιστοποιήσει τον κώδικα και, επειδή ο βρόχος δεν κάνει τίποτα, αφαιρέστε τον. Αυτό δεν συμβαίνει όταν χρησιμοποιείτε καθυστέρηση ().
  • Σημειώστε ότι όταν χρησιμοποιείτε την τεχνική for-loop, μπορεί να χρειαστείτε ένα πολύ μεγάλο εύρος για i, επειδή μια κενή πρόταση εκτελείται πολύ γρήγορα. Τέτοιοι μεγάλοι αριθμοί μπορεί να μην χωρούν σε έναν ακέραιο τύπο.

Συνιστάται: