clock_gettime
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相关推荐
- clock_gettime获取时间
❤️强烈推荐人工智能学习网站❤️ linux下clock_getting可以用来获取时间并精度到纳秒,其中需要用到struct timespec结构体,struct timespec结构体如下: st ...
- 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 ...
- undefined reference to `clock_gettime'
在编译程序的时候出现undefined reference to `clock_gettime'吃的错误,发现是在链接的时候出错. 经过查找发现clock_gettime在实时库(real time) ...
- clock_gettime参数中不同clock ID含义的差别
在分布式系统各个通信的过程中,有的应用场景需要把事件发生的时间戳放在消息中一起传递,接收端根据时间戳来判断事件发生的先后顺序.为此,就需要能够获取精确时间的函数,比如下面的代码: clock_gett ...
- clock_gettime系统调用详解
注意 1.精确级别,纳秒级别 原型 long sys_clock_gettime (clockid_t which_clock, struct timespec *tp); which_clock参数 ...
- clock()、time()、clock_gettime()和gettimeofday()函数的用法和区别
转自http://blog.sina.com.cn/s/blog_790f5ae10100rwd3.html 一)ANSI clock函数 1)概述: clock 函数的返回值类型是clock_t,它 ...
- linux中求当前时间gettime,linux – 你如何在shell中获得clock_gettime(2)时钟?
这不回答当前的问题,但回答了原来的问题.因此,它一直被保留,因为它对目前为止的一些人有用. 在shell中你可以使用日期工具: date +%s.%N date +%s%N nanoseconds_s ...
- SylixOS下移植glib时clock_gettime函数分析
1. 问题分析 移植glib中间件时,运行测试用例出现异常错误,定位问题为g_clock_gettime函数获取的时间和系统API获取的时间不一致导致. glib中间件中g_get_monotonic ...
- Linux下clock_gettime函数详解
要包含这头文件<time.h> 且在编译链接时需加上 -lrt ;因为在librt中实现了clock_gettime函数. --- struct timespec ts; clock_ge ...
- clock_gettime 函数笔记
函数"clock_gettime"是基于Linux C语言的时间函数,他可以用于计算精度和纳秒. #include<time.h> int clock_gettime( ...
最新文章
- 关于二叉树的层次遍历的花样(c++实现)
- Android Jetpack组件App Startup简析
- ASP.Net调试过程中弹出的浏览器端口和asp.net development server的端口不一样
- 恢复从回收站中被删除的文件的方法
- 学计算机之路写一篇作文,学习之路作文
- FPL 2017最佳论文:如何对FPGA云发动DoS攻击?
- 【深度学习】——如何提高map值
- Linux常用命令(第二版) --网络通信命令
- 简单帅气的折纸机器人_新型电磁喷雾可将任何物体变成机器人,有望在生物学领域应用...
- python100例详解-Python字典实现简单的三级菜单(实例讲解)
- SQLite数据库管理的相关命令
- 阅读Google的C++代码规范有感
- multiplot 安装与配置
- PHP常用函数速查表(转载)
- 体检管理软件#一站式体检管理系统#体检管理软件#体检软件#体检系统#体检管理系统源码
- 移动端H5页面中加载的图片,在chrome和安卓手机中显示正常,在iphone和safari浏览器中个别图片显示问号的问题处理
- Unity—背包系统(思路总括)
- TotalControl连接问题
- 推荐几个我收藏且星标的嵌入式技术公众号
- LDD3 sleepy 模块
热门文章
- 国内暂时可用的API集合
- 整理了4000字的Google数据可视化指南!
- spark 学习(二) RDD及共享变量
- 我脸上被软件开发刻了几个字
- 【源码】PDF.js批注注释插件库(纯JS). 创建和保存PDF批注(PDF 高亮/签名/插图/截屏/文本框/画笔/多边形)-pdf.js
- 免费论文翻译网站——通天塔
- 今天,数据库“打工人”告诉你一个秘密
- C语言的文件读取与写入操作
- 第一节 认识python
- 2010年财富杂志全球500强榜公布 沃尔玛居榜首