![커널 모듈에서 gettimeofday를 어떻게 사용하나요?](https://linux55.com/image/218369/%EC%BB%A4%EB%84%90%20%EB%AA%A8%EB%93%88%EC%97%90%EC%84%9C%20gettimeofday%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%82%98%EC%9A%94%3F.png)
커널 모듈에서 다음 코드를 사용하려고 합니다.
struct timeval now;
gettimeofday(&now, NULL);
하지만 커널을 컴파일할 때 다음 오류가 발생합니다.
drivers/media/i2c/ox05b.c:776:17: error: storage size of ‘now’ isn’t known
776 | struct timeval now;
| ^~~
답변1
커널 개발의 첫 번째 규칙은 C 라이브러리를 사용할 수 없다는 것입니다. 커널 모듈에서 시간을 알고 싶다면 적절한 명령어를 사용해야 합니다.ktime 접속자, 예를 들어
#include <linux/timekeeping.h>
…
ktime_t now = ktime_get_real();