1、首先单位

1s = 1000ms

1ms = 1000μs

1μs = 1000ns

1ns = 1000ps

2、结构体:struct timespec ts;

_STRUCT_TIMESPEC
{__darwin_time_t tv_sec;long            tv_nsec;
};

3、函数"clock_gettime"是基于Linux C语言的时间函数,他可以用于计算精度和纳秒。

#include<time.h>
int clock_gettime(clockid_t clk_id,struct timespec *tp);

4、使用:

struct timespec ts;
clock_gettime(CLOCK_MONOTONIC, &ts);

5、 参数clk_id : 检索和设置的clk_id指定的时钟时间。

CLOCK_REALTIME:系统实时时间,随系统实时时间改变而改变,即从UTC1970-1-1 0:0:0开始计时,中间时刻如果系统时间被用户改成其他,则对应的时间相应改变。
            CLOCK_MONOTONIC:从系统启动这一刻起开始计时,不受系统时间被用户改变的影响。//是设备系统启动的时间
       CLOCK_PROCESS_CPUTIME_ID:本进程到当前代码系统CPU花费的时间。
       CLOCK_THREAD_CPUTIME_ID:本线程到当前代码系统CPU花费的时间。

struct timespec{time_t tv_sec; /* 秒*/long tv_nsec; /* 纳秒*/}

测试:

#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;
}结果1ms

clock_gettime相关推荐

  1. clock_gettime获取时间

    ❤️强烈推荐人工智能学习网站❤️ linux下clock_getting可以用来获取时间并精度到纳秒,其中需要用到struct timespec结构体,struct timespec结构体如下: st ...

  2. time,gettimeofday,clock_gettime,_ftime

    1 time()提供了秒级的精确度 2 3 1.头文件 <time.h> 4 2.函数原型 5 time_t time(time_t * timer) 6 函数返回从TC1970-1-1 ...

  3. undefined reference to `clock_gettime'

    在编译程序的时候出现undefined reference to `clock_gettime'吃的错误,发现是在链接的时候出错. 经过查找发现clock_gettime在实时库(real time) ...

  4. clock_gettime参数中不同clock ID含义的差别

    在分布式系统各个通信的过程中,有的应用场景需要把事件发生的时间戳放在消息中一起传递,接收端根据时间戳来判断事件发生的先后顺序.为此,就需要能够获取精确时间的函数,比如下面的代码: clock_gett ...

  5. clock_gettime系统调用详解

    注意 1.精确级别,纳秒级别 原型 long sys_clock_gettime (clockid_t which_clock, struct timespec *tp); which_clock参数 ...

  6. clock()、time()、clock_gettime()和gettimeofday()函数的用法和区别

    转自http://blog.sina.com.cn/s/blog_790f5ae10100rwd3.html 一)ANSI clock函数 1)概述: clock 函数的返回值类型是clock_t,它 ...

  7. linux中求当前时间gettime,linux – 你如何在shell中获得clock_gettime(2)时钟?

    这不回答当前的问题,但回答了原来的问题.因此,它一直被保留,因为它对目前为止的一些人有用. 在shell中你可以使用日期工具: date +%s.%N date +%s%N nanoseconds_s ...

  8. SylixOS下移植glib时clock_gettime函数分析

    1. 问题分析 移植glib中间件时,运行测试用例出现异常错误,定位问题为g_clock_gettime函数获取的时间和系统API获取的时间不一致导致. glib中间件中g_get_monotonic ...

  9. Linux下clock_gettime函数详解

    要包含这头文件<time.h> 且在编译链接时需加上 -lrt ;因为在librt中实现了clock_gettime函数. --- struct timespec ts; clock_ge ...

  10. clock_gettime 函数笔记

    函数"clock_gettime"是基于Linux C语言的时间函数,他可以用于计算精度和纳秒. #include<time.h> int clock_gettime( ...

最新文章

  1. 关于二叉树的层次遍历的花样(c++实现)
  2. Android Jetpack组件App Startup简析
  3. ASP.Net调试过程中弹出的浏览器端口和asp.net development server的端口不一样
  4. 恢复从回收站中被删除的文件的方法
  5. 学计算机之路写一篇作文,学习之路作文
  6. FPL 2017最佳论文:如何对FPGA云发动DoS攻击?
  7. 【深度学习】——如何提高map值
  8. Linux常用命令(第二版) --网络通信命令
  9. 简单帅气的折纸机器人_新型电磁喷雾可将任何物体变成机器人,有望在生物学领域应用...
  10. python100例详解-Python字典实现简单的三级菜单(实例讲解)
  11. SQLite数据库管理的相关命令
  12. 阅读Google的C++代码规范有感
  13. multiplot 安装与配置
  14. PHP常用函数速查表(转载)
  15. 体检管理软件#一站式体检管理系统#体检管理软件#体检软件#体检系统#体检管理系统源码
  16. 移动端H5页面中加载的图片,在chrome和安卓手机中显示正常,在iphone和safari浏览器中个别图片显示问号的问题处理
  17. Unity—背包系统(思路总括)
  18. TotalControl连接问题
  19. 推荐几个我收藏且星标的嵌入式技术公众号
  20. LDD3 sleepy 模块

热门文章

  1. 国内暂时可用的API集合
  2. 整理了4000字的Google数据可视化指南!
  3. spark 学习(二) RDD及共享变量
  4. 我脸上被软件开发刻了几个字
  5. 【源码】PDF.js批注注释插件库(纯JS). 创建和保存PDF批注(PDF 高亮/签名/插图/截屏/文本框/画笔/多边形)-pdf.js
  6. 免费论文翻译网站——通天塔
  7. 今天,数据库“打工人”告诉你一个秘密
  8. C语言的文件读取与写入操作
  9. 第一节 认识python
  10. 2010年财富杂志全球500强榜公布 沃尔玛居榜首