如何在内核态下获取时间
答案:2 悬赏:50 手机版
解决时间 2021-02-09 04:16
- 提问者网友:你给我的爱
- 2021-02-08 13:50
如何在内核态下获取时间
最佳答案
- 五星知识达人网友:迟山
- 2021-02-08 14:05
三种方法:
1. 直接使用内核变量jiffies,通用jiffies的值相减可以获得内核时间,但是此分辨率一般为10ms(可参考内核宏HZ)级.
因为jiffies的值.
2. do_gettimeofday()函数,其用法和系统调用gettimeofday相同. 他可以得到us级的时间分辨率.
3. 在内核状态下直接读取CPU时间戳寄存器.需要了解本身CPU的细节!
1. 直接使用内核变量jiffies,通用jiffies的值相减可以获得内核时间,但是此分辨率一般为10ms(可参考内核宏HZ)级.
因为jiffies的值.
2. do_gettimeofday()函数,其用法和系统调用gettimeofday相同. 他可以得到us级的时间分辨率.
3. 在内核状态下直接读取CPU时间戳寄存器.需要了解本身CPU的细节!
全部回答
- 1楼网友:零点过十分
- 2021-02-08 15:19
/usr/include/sys/time.h
int gettimeofday(struct timeval *tv, struct timezone *tz);
int settimeofday(const struct timeval *tv, const struct timezone *tz);
c/c++ code?
#include
#include
int main()
{
struct timeval tv;
struct timezone tz;
gettimeofday(&tv, &tz);
printf("tv_sec: %d\n", tv.tv_sec);
printf("tv_usec: %d\n", tv.tv_usec);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯