我正在尝试在内核模块中使用以下代码
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();