Jak opóźnić w C: 7 kroków (ze zdjęciami)

Spisu treści:

Jak opóźnić w C: 7 kroków (ze zdjęciami)
Jak opóźnić w C: 7 kroków (ze zdjęciami)

Wideo: Jak opóźnić w C: 7 kroków (ze zdjęciami)

Wideo: Jak opóźnić w C: 7 kroków (ze zdjęciami)
Wideo: Chromebook: How to Copy & Paste w/ Keyboard Shortcut 2024, Może
Anonim

Czy kiedykolwiek chciałeś, aby program w C czekał przez określony czas?

Możesz ustawić technikę pozwalającą na odliczanie czasu, na przykład: podczas wyświetlania strony powitalnej (powiadomienia lub podpowiedzi) do gry.

OK, oto kilka sposobów na zatrzymanie programu, czytaj dalej…

Kroki

Opóźnienie w C Krok 1
Opóźnienie w C Krok 1

Krok 1. Spraw, aby Twój procesor działał przez jakiś czas, nie powodując żadnych zauważalnych zdarzeń

Opóźnienie w C Krok 2
Opóźnienie w C Krok 2

Krok 2. Nie wykonuj żadnej innej operacji podczas tego opóźnienia, aby utworzyć proste opóźnienie czasowe

Metoda 1 z 2: Technika „for-loop”

Opóźnienie w C Krok 3
Opóźnienie w C Krok 3

Krok 1. Użyj typowej pętli „for”, po której następuje instrukcja null, aby zaimplementować opóźnienie czasowe

Opóźnienie w C Krok 4
Opóźnienie w C Krok 4

Krok 2. Napisz na przykład w następujący sposób:

  • dla (i=1; i<100; i++);
  • Oświadczenie, po którym następuje „;” sprawia, że komputer wykona pętlę 100 razy bez żadnego zauważalnego zdarzenia. Po prostu tworzy opóźnienie czasowe.

Metoda 2 z 2: Technika „sleep()”

Opóźnienie w C Krok 5
Opóźnienie w C Krok 5

Krok 1. Użyj sleep() Zadeklarowana funkcja o nazwie sleep(int ms), w której program czeka na określony czas w milisekundach

Opóźnienie w C Krok 6
Opóźnienie w C Krok 6

Krok 2. Dołącz następujący wiersz do swojego programu przed „int main()”:

#włączać

Opóźnienie w C Krok 7
Opóźnienie w C Krok 7

Krok 3. Wstaw, gdziekolwiek potrzebujesz programu, aby zrobić opóźnienie:

  • sen (1000);
  • Zmień „1000” na liczbę milisekund, które chcesz odczekać (na przykład, jeśli chcesz zrobić 2 sekundy opóźnienia, zastąp je „2000”.
  • Wskazówka: W niektórych systemach wartość może odnosić się do sekund, a nie do milisekund. Więc czasami 1000 to nie jedna sekunda, ale tak naprawdę 1000 sekund.

Porady

  • Powyższa logika może być zaimplementowana przy użyciu dowolnej struktury pętli, po której następuje instrukcja null-";", na przykład przy użyciu pętli while lub do-while.
  • Milisekunda to 1/1000 sekundy.

Ostrzeżenia

  • Ta technika jest generalnie bezużyteczna w niczym poza trywialnym programem. Ogólnie, aby to zaimplementować, należy użyć liczników czasu lub podejścia opartego na zdarzeniach. W przeciwnym razie program przestanie odpowiadać w czasie opóźnienia, a to nie zawsze jest dobre. Poza tym wybór N w pętli, jeśli zależy to od wykonania instrukcji, może dać zaskakujące rezultaty. Najwyraźniej oryginalny autor nigdy nie słyszał o optymalizującym kompilatorze… może zoptymalizować całą pętlę, jeśli faktycznie nic nie robi !
  • Jeśli używasz pętli for, kompilator może zoptymalizować kod, a ponieważ pętla nic nie robi, usunąć go. Nie dzieje się tak podczas korzystania z funkcji delay().
  • Zauważ, że używając techniki pętli for, możesz potrzebować bardzo dużej rozpiętości dla i, ponieważ pusta instrukcja jest wykonywana bardzo szybko. Tak duże liczby mogą nie mieścić się w typie całkowitym.

Zalecana: