clock_gettime是基于Linux C语言的时间函数,他可以用于计算精度和纳秒。
//头文件 #include//函数原型 int clock_gettime( clockid_t clock_id,struct timespec * tp ); // timespec 结构体 struct timespec { __time_t tv_sec; __syscall_s long_t tv_nsec; };
clock_id: 是指使用时钟的类型
- CLOCK_REALTIME:是指系统时间,随着系统时间的改变而改变。系统时钟会被用户而改变。
- CLOCK_MONOTONIC:指从系统启动时开始计时。不受系统影响,也不会被用户改变。
- CLOCK_PROCESS_CPUTIME_ID:指这个进程运行到当前代码时,系统花费的时间。
- CLOCK_THREAD_CPUTIME_ID:指这个线程运行到当前代码时,系统花费的时间。
#include#include int main() { struct timespec now; clock_gettime(CLOCK_MONOTONIC,&now); printf("Seconds = %ld t Nanoseconds = %ldn",, now.tv_sec, now.tv_nsec); return 0; }



