커널 모듈에서 다음 코드를 사용하려고 합니다.
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();