Windows/Linux高精度计时器(C++)
/* * Linux/Windows 系统高精度计时器 */#ifndef __LX_TIMER_H__
#define __LX_TIMER_H__ #ifdef WIN32 #include #elif linux #include #endif class LxTimer
{
public: LxTimer(); void start(); double stop(); // 返回从 start 到 stop 所经历的时间(单位:秒) private:
#ifdef WIN32 double dSystemFreq; BOOL flag; double dStartTime; double dStopTime;
#elif linux struct timeval tvStart; struct timeval tvStop;
#endif
}; #endif
#include "LxTimer.h" #ifdef WIN32 #include #elif linux #include #endif #ifdef WIN32
LxTimer::LxTimer()
{ LARGE_INTEGER sysFreq; // 计时器频率 flag = QueryPerformanceFrequency( &sysFreq ); if ( flag ) { dSystemFreq = (double)sysFreq.QuadPart; }
} void LxTimer::start()
{ LARGE_INTEGER t; flag &= QueryPerformanceCounter( &t ); if ( !flag ) return; dStartTime = (double)t.QuadPart;
} double LxTimer::stop()
{ LARGE_INTEGER t; flag &= QueryPerformanceCounter( &t ); if ( !flag ) return -1.0; dStopTime = (double)t.QuadPart; return ( dStopTime - dStartTime ) / dSystemFreq;
} #elif linux LxTimer::LxTimer(){} void LxTimer::start()
{ gettimeofday( &tvStart, NULL );
} double LxTimer::stop()
{ gettimeofday( &tvStop, NULL ); return (double)(tvStop.tv_sec - tvStart.tv_sec) + (double)(tvStop.tv_usec - tvStart.tv_usec)/1000000.0;
} #endif
Windows/Linux高精度计时器(C++)相关推荐
- 添加高精度计时器测量处理能力
文章目录 1 添加高精度计时器测量处理能力 1 添加高精度计时器测量处理能力 这里我们为服务端添加高精度计时器来测量处理能力,这里使用C++11提供的库来实现. CELLTimeStamp.hpp: ...
- php hrtime stopwatch,学习PHP中的高精度计时器HRTime扩展
学习PHP中的高精度计时器HRTime扩展 不知道大家还记得在学校的时候体育测试时老师带的秒表吗?当枪声想起时,我们开始跑步,这时秒表启动,当我们跑过终点后,老师会按下按扭记录我们的成绩,这就是一个典 ...
- Qt pro文件下跨平台宏的使用(windows/linux 以及x86 和 arm的区分)
#Qt pro文件下跨平台宏的使用(windows/linux 以及x86 和 arm的区分) 在pro文件中添加: #仅在linux 系统下, 硬件平台无关的内容 unix{HEADERS += \ ...
- vim windows linux文件格式转换
vim windows linux文件格式转换 set ff? #显示当前文件格式 set ff=unix #设置成unix格式 set ff=dos #设置成dos格式 posted ...
- 以安装PyTorch为例说明Anaconda在Windows/Linux上的使用
在Windows10上配置完MXNet 1.3.0后,再配置PyTorch 1.0时,发现两者需要依赖的NumPy版本不一致,之前是通过pip安装NumPy,根据pip的版本不同,会安装不同版本的Nu ...
- python使用psutil获取系统(Windows Linux)所有运行进程信息实战:CPU时间、内存使用量、内存占用率、PID、名称、创建时间等;
python使用psutil获取系统(Windows Linux)所有运行进程信息实战:CPU时间.内存使用量.内存占用率.PID.名称.创建时间等: psutil模块可以跨平台使用,支持Linux/ ...
- MongoDb Windows linux平台环境及主流编程语言驱动安装同时配置mongoDb的远程连接
MongoDb Windows linux平台环境及主流编程语言驱动安装同时配置mongoDb的远程连接 <一,>MongoDB 简介篇Ruiy; MongoDB是一个高性能,开源,无模式 ...
- transfer 全平台Windows linux mac配置文件转换工具
transfer 支持全平台 Windows linux mac 自动检测转换文件格式 支持多种格式相互转换 HCL ⇄ JSON ⇄ YAML⇄TOML⇄XML⇄plist⇄pickle⇄prope ...
- Windows/Linux下引用jar包,并用javac/java编译运行
Windows/Linux下引用jar包,并用javac/java编译运行,有需要的朋友可以参考下. 1> Windows 假设要引用的jar放在D:/test目录下,名字为t1.jar, ja ...
最新文章
- 28款网页CSS设计工具和生成器
- 线下沙龙 × 报名 | “大规模数据存储与挖掘”博士生研讨会
- 使用SG_IO发送SCSI 指令测试底层驱动的scatter-gather 功能
- PHP 高级编程(3/5) - 使用SPL(标准PHP库)实现观察者模式
- android应用案例开发大全_vue.js入门及经典应用案例总结(前端开发必看)
- 计算机体系结构 -- 第一章3 -- 设计的定量4个原则
- 华为摄像机搜索软件_别人的终点华为的起点!用普惠AI守护城市安全
- Python---通配符的使用
- sublime text3 sql 格式化
- 封装mysql数据库_快速掌握 Mysql数据库对文件操作的封装
- Linux系统安装教程之一:VM14虚拟机+Ubuntu16安装
- Rhino入门教程---渐消面
- Informatica使用工作流程及案例1
- 深入浅出讲解 Python 元类(Metaclass)的使用
- 企业为什么要上云?企业上云的好处和优势有哪些
- Eclipse安装( jdk安装以及环境配置教程 )
- Spring Data JPA 之 理解 Persistence Context 的核心概念
- 预成大器,远离对日外包
- java程序员 待遇_现在的java程序员薪资待遇怎么样?
- 测试工程师工作日常和职业定位
热门文章
- iframe改变不了css,iframe css问题
- redis启动 libc.so.6: version `GLIBC_2.14‘ not found
- Ubunt php连接oracle,uBuntu PHP Oracle扩展 OCI8安装
- access 按日期分列_excel的分列功能居然这么强大,赶紧收藏起来
- linux透明加密系统,基于Linux的透明加密系统的设计与实现
- h5 img js 点击图片放大_5分钟学会h5生成图片海报!
- 8月最新阿里技术栈架构资料
- 电视机当计算机屏幕,怎么实现电视机当电脑的显示器和音箱用?
- 微信小程序开发者工具升级自动预览功能,福利啊
- nvidia驱动程序与windows版本不兼容