У меня есть следующие три основные строки кода, чтобы увидеть, правильно ли синхронизируется clock
:
#include <unistd.h>
#define wait(seconds) sleep( seconds )
printf("%lu\n", clock());
wait(2);
printf("%lu\n", clock());
wait()
, кажется, работает нормально - как при запуске,«чувствует», как будто это пауза на 2 с.
Однако вот что дает команда печати:
253778
253796
И поэтому, когда я делаю что-то вроде:
(double) (clock() - t0) / CLOCKS_PER_SEC
Это дает мне бесполезные результаты.
Что здесь делает clock()
, чего я не понимаю, и как я могу исправитьэто, чтобы получить точный таймер?