linux-c时间函数 clock_gettime
clock_gettime使用解析
·
函数 clock_gettime
int clock_gettime(clockid_t clk_id, struct timespect *tp)
函数作用:提供了纳秒级的精确度
头文件 <time.h>
函数原型
int clock_gettime(clockid_t clk_id, struct timespect *tp);
参数说明:
clockid_t clk_id 用于指定计时时钟的类型,有以下4种:
CLOCK_REALTIME:系统实时时间,随系统实时时间改变而改变,即从UTC 1970-1-1 0:0:0开始计时,中间时刻如果系统时间被用户该成其他,则对应的时间相应改变
CLOCK_MONOTONIC:从系统启动这一刻起开始计时,不受系统时间被用户改变的影响
CLOCK_PROCESS_CPUTIME_ID:本进程到当前代码系统CPU花费的时间
CLOCK_THREAD_CPUTIME_ID:本线程到当前代码系统CPU花费的时间
struct timespect *tp 用来存储当前的时间,其结构如下:
struct timespec
{
time_t tv_sec; /* seconds */
long tv_nsec; /* nanoseconds */
};
返回值:0成功,-1失败
clock_gettime代码示例
/**********************
struct timespec
{
time_t tv_sec; /* seconds */
long tv_nsec; /* nanoseconds */
};
返回值:0成功,-1失败
**********************/
#include <time.h>
#include <stdio.h>
#include <unistd.h>
int main(int argc, char **argv)
{
struct timespec time1 = {0, 0};
struct timespec time2 = {0, 0};
float temp;
clock_gettime(CLOCK_REALTIME, &time1);
usleep(1000);
clock_gettime(CLOCK_REALTIME, &time2);
temp = (time2.tv_nsec - time1.tv_nsec) / 1000000;
printf("time = %f ms\n", temp);
return 0;
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)