Linux는 응용 프로그램에 단조롭게 증가하는 시계를 제공합니까?
문제
Linux/UNIX/POSIX는 사용자 공간 애플리케이션에 API를 제공하여 단조로 증가하는 시계에 액세스하고 센티스 초에서 밀리 초 정확도로 액세스합니까?
Linux에서 /Proc /Uptime은 시스템이 증가한 초의 부동 소수점 수의 문자열 기반 표현을 제공합니다.
gettimeofday (2)는 단조로 증가하는 시계를 제공하지 않습니다.
ITIMER_REAL TIME 도메인에서 getItimer (2)를 사용할 수 있고, 타이머를 최대 (플랫폼 의존)에서 시작하도록 설정하고 생성 된 신호를 무시할 수 있지만 MAN 페이지에 따르면 타이머가 가장 긴 시간은 약 100 일입니다. 예상되는 실행 시간보다 짧습니다.
해결책
posix를 사용하십시오 clock_gettime()
기능 CLOCK_MONOTONIC
. 참조 남자 페이지 자세한 내용은.
다른 팁
clock_gettime이 있습니다.
struct timespec tp;
clock_gettime(CLOCK_MONOTONIC, &tp);
제휴하지 않습니다 StackOverflow