Boost库实现高精度时间

  • 1 关于Boost
  • 2 一个特别之处
  • 3 高精度计时器
  • 4 简析

1 关于Boost

  1. Boost库代表C++语言最新、最前沿的技术;C++中语言特性有2/3来自Boost
  2. Boost组件有很高的工业强度,甚至超过大多数商业产品
  3. Boost可以用于任何用途,鼓励商业,非商业用途,不受任何限制

2 一个特别之处

Boost库没有传统的.cpp和.h,特使用.hpp,是不需要链接的,直接把头文件放入工程就可以编译使用了。不再需要考虑动态库的问题。当然还有少部分是需要链接的。

3 高精度计时器

了解基本的概念后,下面利用Boost实现一个高精度计时器

#include <iostream>
#include <boost/date_time/posix_time/posix_time.hpp>template <typename Clock = boost::posix_time::microsec_clock>
class BasicPtimer
{public:BasicPtimer(){restart();}void restart(){m_startTime = Clock::local_time();}void elapsed() const{std::cout << Clock::local_time() - m_startTime << std::endl;}~BasicPtimer(){elapsed();}private:boost::posix_time::ptime m_startTime;
};int main(int argc, char *argv[])
{typedef BasicPtimer<boost::posix_time::microsec_clock> mptimer; // 最小的计时单位1ustypedef BasicPtimer<boost::posix_time::second_clock> sptimer;   // 最小的计时单位s{mptimer t;}
}

4 简析

  1. 模板类支持两个精度,s和us,默认是us
  2. 整个类的写法和boost::timer及boost::progress_timer如出一辙,就是拷贝过来的
  3. 创建对象时开始计时,析构函数自动打印流逝的时间,如上,一个364us的案例
  4. 具体细节,可以参看《Boost程序库完全开发指南》

利用Boost库实现高精度计时器(1us)相关推荐

  1. BOOST库介绍,安装

    第1讲boost库介绍 boost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化.不过对比STL,boost更加实用. STL集中在算法部分,而b ...

  2. (十二)boost库之多线程高级特性

    很多时候,线程不仅仅是执行一些耗时操作,可能我们还需要得到线程的返回值,一般的处理方法就是定义一个全局状态变量,不断轮训状态,就如我目前维护的一个项目,全局变量定义了N中状态,看的让人抓狂.该项目的大 ...

  3. boost库中优秀的网络库asio

    文章目录 一.须知 二.ASIO 三.我们将从研究同步操作开始 四.当使用异步操作时,会发生不同的事件序列 五.Proactor模型 六.常用内容 七.C++ 建立本地网络服务器 (Boost.Asi ...

  4. C/C++ 开发 boost 库参考手册整理(2) 【学习笔记】

    文档声明: 以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正.并且该文档在后期会随着学习的深入不断补充完善.感谢各位的参考查看. 笔记资料仅供学习交流使用,转载请标明出处 ...

  5. 所有的 Boost 库文档的索引

    入门 工具 网站 新闻 社区 常见问题 更多的信息 按字母顺序列出的库 按类别列出的库 算法 破碎的编译器的解决方法 并发编程 容器 正确性和测试 数据结构 特定于域的 函数对象和高阶编程 泛型编程 ...

  6. [转]C++ Boost库资料汇总

    http://www.usidcbbs.com/read-htm-tid-1397.html boost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最 ...

  7. C++ Boost库:日期时间库 date_time

    文章目录 1. 简介 2. 基本使用 3. date_period类 4. ptime类 5. time_period类 C++ Boost库:简介和第一个示例程序 C++ Boost库:数值转换 l ...

  8. Linux下安装和使用boost库

    Linux下安装和使用boost库 2016-08-26 20:29:06 zhaomax 阅读数 349更多 分类专栏: C++ 用boost库中的serialization库.Boost库分为两个 ...

  9. 添加高精度计时器测量处理能力

    文章目录 1 添加高精度计时器测量处理能力 1 添加高精度计时器测量处理能力 这里我们为服务端添加高精度计时器来测量处理能力,这里使用C++11提供的库来实现. CELLTimeStamp.hpp: ...

最新文章

  1. 爆赞,对 volatile 关键字讲解最好的一篇文章!
  2. Ubuntu14.04安装QQ2013
  3. zen-cart首页能否在中间栏显示“所有商品”?
  4. 【CyberSecurityLearning 附】OpenVAS安装
  5. shiro session 设置取不到_SpringCloud+shiro+前后端分离
  6. 为什么你做的H5开屏那么慢?H5首屏秒开方案探讨
  7. ADO.NET 数据连接查询
  8. 微信小程序 长按图片不出现菜单_微信小程序实现长按删除图片的示例
  9. 一个关于Remoting的简单例子
  10. LeetCode 1625. 执行操作后字典序最小的字符串(BFS)
  11. ThinkPHP5访问去除/public/index.php
  12. Discuz模板 轻社区Qing_freefresh 完整版
  13. Java Servlet(八):EL自定义函数
  14. php 获得焦点,jquery中blur()失去焦点与focus() 获取焦点事件
  15. 【SSH】——Hibernate实现简单的自动建表
  16. 备战秋招之数电知识查漏补缺
  17. shopex4.8.5 php5.6,shopex v4.8.5 漏洞
  18. html群聊插件,团队群聊.html
  19. 山东赛区|数学建模国赛山东赛区成绩发布
  20. html程序产品目录,产品目录(Catalog)制作大师

热门文章

  1. 非域环境修改域用户密码一直提示你的新密码不符合域的长度、复杂性或历史记录要求。请尝试选择其他新密码。
  2. IT职业道路技能图谱(图谱+干货)
  3. 基于directShow,打造全能播放器系列之一
  4. 关于拼多多以图搜图的探索和分析
  5. 2020.7.14 跑步日记
  6. Hibernate通常是三种:hql查询,QBC查询和QBE查询:
  7. 【storybook】你需要一款能在独立环境下开发组件并生成可视化控件文档的框架吗?(一)
  8. NH2-MIL-125(Ti)金属有机骨架以2-氨基苯酸为有机配体的应用
  9. 解决word2013图片不能替换
  10. 编程小白喜欢走的几条弯路