Wiem, że sleep(x)
funkcja POSIX sprawia, że program śpi przez x sekund. Czy istnieje funkcja umożliwiająca uśpienie programu przez x milisekund w C ++?
sleep
, a nie Win32, Sleep
biorąc pod uwagę „x sekund”.
#include
nagłówek C wewnątrz extern "C" {}
bloku. Ponadto, jeśli masz pliki źródłowe C i C ++ w tym samym projekcie, zdecydowanie zaleca się to zrobić, aby uniknąć problemów, zwłaszcza jeśli dołączasz te same nagłówki do obu rodzajów plików źródłowych (w takim przypadku jest to konieczne) . Jeśli masz projekt wyłącznie w języku C ++, może on po prostu działać bez problemu.
GetTickCount
rozdzielczości 55 ms; późniejsze wersje miały rozdzielczość 16ms lub mniejszą. Jeden z użytkowników pomyślał, że uzyskuje rozdzielczość 16ms z trybu uśpienia, ale następnie stwierdził, że Sleep
sam był dość dokładny, a widoczna niedokładność była spowodowana użyciem GetTickCount
do pomiaru upływu czasu.
Sleep()
ma milisekundową precyzję , ale jej dokładność może być o rząd wielkości wyższa. Możesz myśleć, że śpisz przez 4 milisekundy, ale tak naprawdę śpisz przez 400.