カーネルモジュールでgettimeofdayをどのように使用しますか?

カーネルモジュールでgettimeofdayをどのように使用しますか?

カーネルモジュールで次のコードを使用しようとしています。

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();

おすすめ記事