15

在内核模块中以秒为单位(自纪元以来)获取当前时间的标准方法是什么?

我见过涉及获取 xtime 的技术,这些技术非常冗长并且涉及 while 循环和锁。一定会有更好的办法。

[这不是重复的。我已经查看了之前关于 SO 的问题。其中许多的答案要么没有指定使用的函数,要么错误地引用了内核中不允许的 time.h]

4

1 回答 1

22

你可以使用getnstimeofday它。

/* getnstimeofday - Returns the time of day in a timespec */
void getnstimeofday(struct timespec *ts)

哪里struct timespec是:

struct timespec {
    time_t  tv_sec;     /* seconds */
    long    tv_nsec;    /* nanoseconds */
};

是的,你需要#include <linux/time.h>.

于 2012-11-25T15:46:38.603 回答