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
Krok 1. Spraw, aby Twój procesor działał przez jakiś czas, nie powodując żadnych zauważalnych zdarzeń
Krok 2. Nie wykonuj żadnej innej operacji podczas tego opóźnienia, aby utworzyć proste opóźnienie czasowe
Metoda 1 z 2: Technika „for-loop”
Krok 1. Użyj typowej pętli „for”, po której następuje instrukcja null, aby zaimplementować opóźnienie czasowe
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()”
Krok 1. Użyj sleep() Zadeklarowana funkcja o nazwie sleep(int ms), w której program czeka na określony czas w milisekundach
Krok 2. Dołącz następujący wiersz do swojego programu przed „int main()”:
#włączać
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.