本文主要介绍了C++ 计算时间差的五种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Qt计算时间的两种方法:
- QTime elapsed() : ms
- QTime currentTime() : ms
C++计算时间的五种方法:
- clock() : ms
- GetTickCount() : ms
- gettimeofday(time_val*, NULL) : us
- QueryPerformanceFrequency(LARGE_INTEGER*) & QueryPerformanceCounter(LARGE_INTEGER*) : us
- time(NULL) : s
#include <QThread>
#include <QTime>
#include <sys/time.h> //clock, gettimeofday, time
#include <windows.h> //Sleep, GetTickCount, timeGetTime, QueryPerformanceCounter
#include <QDebug>
//#pragma comment(lib, "winmm.lib") //timeGetTime, 但是这个库Windows或Qt或VS2015都没有自带
const unsigned long SLEEP_TIME_MILL = 1000;
/**
* QTime的精度为ms级
*/
void calcByQtimeElapsed() {
QTime time;
time.start();
QThread::msleep(SLEEP_TIME_MILL);
int timeElapsed = time.elapsed();
qDebug()<<"QTime.start & QTime.elspsed ="<<timeElapsed<<"ms";
}
/**
* QTime的精度为ms级
*/
void calcByQtimeCurrentTime() {
QTime startTime = QTime::currentTime();
QThread::msleep(SLEEP_TIME_MILL);
QTime stopTime = QTime::currentTime();
int elapsed = startTime.msecsTo(stopTime);
qDebug()<<"QTime.currentTime ="<<elapsed<<"ms";
}
/**
* clock的精度为ms级
*/
void calcByClock() {
clock_t startTime = clock();
Sleep(SLEEP_TIME_MILL);
clock_t endTime = clock();
clock_t elapsed = endTime - startTime;
qDebug()<<"clock ="<<elapsed<<"ms";
}
/**
* GetTickCount的精度为ms级
*/
void calcByTickCount() {
//返回自开机以来经历的毫秒数
DWORD startTime = GetTickCount();
Sleep(SLEEP_TIME_MILL);
DWORD stopTime = GetTickCount();
DWORD elapsed = stopTime - startTime;
qDebug()<<"GetTickCount = "<<elapsed<<"ms";
}
///**
// * timeGetTime的精度为ms级
// * 必须添加Winmm.lib, 否则编译报错undefined reference
// */
//void calcByTimeGetTime() {
// //返回自开机以来经历的毫秒数
// DWORD startTime = timeGetTime();
// Sleep(SLEEP_TIME_MILL);
// DWORD stopTime = timeGetTime();
// DWORD elapsed = stopTime - startTime;
// qDebug()<<"timeGetTime = "<<elapsed<<"ms";
/
织梦狗教程
本文标题为:C++ 计算时间差的五种方法小结


基础教程推荐
猜你喜欢
- C++实现ETW进行进程变动监控详解 2023-05-15
- C语言编程C++旋转字符操作串示例详解 2022-11-20
- C语言实现宾馆管理系统课程设计 2023-03-13
- 带你深度走入C语言取整以及4种函数 2022-09-17
- C语言 详解字符串基础 2023-03-27
- centos 7 vscode cmake 编译c++工程 2023-09-17
- C++实战之二进制数据处理与封装 2023-05-29
- [C语言]二叉搜索树 2023-09-07
- [c语言-函数]不定量参数 2023-09-08
- 全面了解C语言 static 关键字 2023-03-26