현재 위치 - 대출자문플랫폼 - 신용 카드 지식 - Linux 실시간 시간 xtime을 구하고 사용하는 방법

Linux 실시간 시간 xtime을 구하고 사용하는 방법

RTC 시간 작업:

1. rtc 시간은 rtc 하드웨어에 의해 제어되므로 Linux에서 rtc 시간을 수정하고 얻으려면 rtc 시간을 얻고 얻는 것만 가능합니다. 드라이버 인터페이스를 통해 rtc 시간을 수정하세요.

intrtc_test(void)

{

structrtc_timertc;

intfd=-1;

intret=- 1;

fd=open("/dev/rtc0", O_RDWR);

if(fdlt;0){

return-1;

p>

p>

}

ret=ioctl(fd,RTC_RD_TIME,amp;rtc);

if(retlt;0){

return-1 ;

}

printf("\nCurrentRTCdata/timeisd-d-d,02d:02d:02d.\n",rtc.tm_mday,rtc.tm_mon 1,

rtc.tm_year 1900, rtc.tm_hour, rtc.tm_min, rtc.tm_sec)

ret=ioctl(fd, RTC_SET_TIME, amp; rtc); p>if(retlt ;0){

return-1;

}

return0;

}

2. 위와 같은 방식으로 RTC 시간을 조작하는 것 외에도 Linux에는 RTC 시간 조작을 단순화할 수 있는 명령인 hwclock이 있습니다. 예를 들어 system("hwclock-w"를 통해 xtime을 RTC 하드웨어로 설정할 수 있습니다. ); 시스템 호출.

Wall time(실시간, xtime):

xtime은 주로 Linux 시스템에서 사용됩니다. 이는 많은 프로그램이 xtime에 의존하여 실행됩니다. xtime 작동 방법을 소개합니다.

1. 마이크로초 수준 시간 가져오기 및 설정:

#include

#include

structtimeval

{

inttv_sec;

inttv_usec;

};

intgettimeofday(structtimeval*tv,structtimezone*tz);

intsettimeofday(conststructtimeval*tv, conststructtimezone*gz);

함수 설명:

gettimeofday()는 현재 시간을 가져오고 tv가 가리키는 구조를 반환합니다.

settimeofday()는 현재 시간을 tv가 가리키는 구조 데이터로 설정합니다. 현재 지역 정보는 tz가 가리키는 구조체 데이터로 설정됩니다.

2. 시간을 초 단위로 가져옵니다.

typedeflongtime_t;

time_ttime(time_t*t);

t가 null이 아닌 경우 , t에 시간 값을 채웁니다.

3. 커널 버전 2.6 이후의 새로운 clockapi 인터페이스

나노초 수준 시간 가져오기

structtimespec {

time_ttv_sec;/*초*/

longtv_nsec;/*나노초*/

};

intclock_getres( clockid_tclk_id, structtimespec*res);

intclock_gettime(clockid_tclk_id, structtimespec*tp);

intclock_settime(clockid_tclk_id, conststructtimespec*tp);

컴파일 및 연결 시 사용 -lrt를 사용하면 성공적으로 컴파일할 수 있습니다.

clk_id 선택적 매개변수:

CLOCK_REALTIME

시스템 전역 실시간 시계. 이 시계를 설정하려면 적절한 권한이 필요합니다.

CLOCK_MONOTONIC< / p>

단조 시간 시작 지점을 나타내는 읽기만 가능하고 설정할 수 없습니다.

CLOCK_PROCESS_CPUTIME_ID

CPU의 각 프로세스에 대한 고해상도 타이머.

CLOCK_THREAD_CPUTIME_ID

스레드의 특정 CPU 시간 시계입니다.

시스템이 시작되면 먼저 rtc 시간을 rtc에서 읽어 xtime으로 설정하고, ntp가 실행되면 시스템 변경 시간이 업데이트되면 먼저 xtime을 설정한 다음 hwclock을 호출하여 이를 rtc 하드웨어에 설정합니다. xtime은 필요한 정확도에 따라 위의 인터페이스를 통해 선택하여 사용할 수 있습니다.

copyright 2024대출자문플랫폼