VC中监测函数运行时间(一)—分钟,秒,毫秒
//myTimer.h // [10/16/2013 Duan Yihao] #pragma once #include "StdAfx.h" //////////////////////////////////////////////////////////////////////////
class myTimer
{ public:
myTimer(void);
~myTimer(void); public:
void start(void);
void end(void); void getRunTime(float &minute,float &second,float &millSecond); private: SYSTEMTIME stStar;
SYSTEMTIME stEnd; //
float m_minute;
float m_second;
float m_millSecond; }; //////////////////////////////////////////////////////////////////////////
//myTimer.cpp myTimer::myTimer(void)
{ m_minute=0.0;
m_second=0.0;
m_millSecond=0.0;
} myTimer::~myTimer(void)
{
} void myTimer::start(void)
{ GetLocalTime(&stStar);//获取算法处理前,系统时间 } void myTimer::end(void)
{ //
SYSTEMTIME st2;
GetLocalTime(&stEnd);//获取算法结束时系统时间
float tm1,tm2;
float ts1,ts2;
float tms1,tms2; tm1=stStar.wMinute;
tm2=stEnd.wMinute;//分 ts1=stStar.wSecond;
ts2=stEnd.wSecond;//秒 tms1=stStar.wMilliseconds;
tms2=stEnd.wMilliseconds;//毫秒 if (tms2<tms1)
{
tms2+=;
ts2-=;
}
if (ts2<ts1)
{
ts2+=;
tm2-=;
}
if (tm2<tm1)
{
tm2+=;
} m_minute=tm2-tm1;
m_second=ts2-ts1;
m_millSecond=tms2-tms1; //CString time;
//time.Format(_T("run time consume:%f min,%f s,%f ms"),tm2-tm1,ts2-ts1,tms2-tms1);
//AfxMessageBox(time); } void myTimer::getRunTime(float &minute,float &second,float &millSecond)
{
minute=m_minute;
second=m_second;
millSecond=m_millSecond;
} /*
//////////////////////////////////////////////////////////////////////////
//mfc下测试举例: void CtestMFCView::OnTest()
{ // TODO: 在此添加命令处理程序代码
//测试例子 //计时开始
myTimer t;
t.start(); //------------------------------------------------------------------------------
//>>>
for(int i = 0; i < 10; i++)
{
int n = i;
for(int i = 0; i < 100000; i++)
{
int n = i;
}
}
//<<<
//------------------------------------------------------------------------------ //计时结束
t.end(); //耗时显示
float m,s,ms;
t.getRunTime(m,s,ms); CString time;
time.Format(_T("run time consume:%f min, %f s, %f ms"),m,s,ms);
AfxMessageBox(time); } */
VC中监测函数运行时间(一)—分钟,秒,毫秒的更多相关文章
- VC中监测函数运行时间
VC++编程时,经常会监控某个算法的计算时间,以确定算法的效率.编码举例如下, //========start: algorithm time============= // SYSTEMTIME s ...
- VC中监测程序运行时间(二)-毫秒级
/* * 微秒级计时器,用来统计程序运行时间 * http://blog.csdn.net/hoya5121/article/details/3778487#comments * //整理 [10/1 ...
- 转:VC中UpdateData()函数的使用
VC中UpdateData()函数的使用 UpdateData(FALSE)与UpdateData(TRUE)是相反的过程 UpdateData(FALSE)是把程序中改变的值更新到控件中去 ...
- 转;VC++中Format函数详解
Format是一个很常用,却又似乎很烦的方法,以下是它的完整概貌,以供大家查询之用: 一.字符串 首先看它的声明: function Format(const Format: string; cons ...
- VC中function函数解析
C++标准库是日常应用中非常重要的库,我们会用到C++标准库的很多组件,C++标准库的作用,不单单是一种可以很方便使用的组件,也是我们学习很多实现技巧的重要宝库.我一直对C++很多组件的实现拥有比较强 ...
- 关于VC中LineDDA函数的调用
在项目里碰到这个函数,不知道怎么使用,记录在这里. 该函数的原型如下: BOOL LineDDA(int nXStart, int nYStart, int nXEnd, int nYEnd, LIN ...
- VC 中 UpdateData() 函数的使用
UpdateData(FALSE)与UpdateData(TRUE)是相反的过程 UpdateData(FALSE)是把程序中改变的值更新到控件中去 UpdateData(TRUE)是把在控件中输入的 ...
- java实现获取当前年月日 小时 分钟 秒 毫秒
java代码实现如下 view source print? /** * 英文简写(默认)如:2010-12-01 */ public static String F ...
- VC++中的延时函数
原文链接:http://www.educity.cn/develop/478947.html VC中提供了很多关于时间操作的函数,编写程序时我们可以跟据定时的不同精度要求选择不同的时间函数来完成定时和 ...
随机推荐
- Java [Leetcode 268]Missing Number
题目描述: Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is ...
- Chrome 实用调试技巧
Chrome 实用调试技巧 2016-07-23 如今Chrome浏览器无疑是最受前端青睐的工具,原因除了界面简洁.大量的应用插件,良好的代码规范支持.强大的V8解释器之外,还因为Chrome开发者工 ...
- hdu 1506(dp求最大子矩阵)
题意:容易理解... 分析:对于每个单位矩阵,我们先求出连续比它高的最左边的下标假设为l,然后求出比它高的最右边的下标假设为r,然后矩阵的面积就是(r-l+1)*1:我们从左到 右扫一遍,求出每个点的 ...
- 1. 搭建NDK集成开发环境
- ASP.NET常用加密解密方法
ASP.NET常用加密解密方法 一.MD5加密解密 1.加密 C# 代码 public static string ToMd5(string clearString) ...
- SqlServer获取两个日期时间差
SELECT datediff(yy,'2010-06-1 10:10',GETDATE()) --计算多少年 SELECT datediff(q,'2011-01-1 10:10',GETDATE( ...
- 解决YUM无法正常工作
1. 错误发生背景 在进行安装依赖包的时候,能够在YUM源中找到相关的RPM包,但是无法进行下载,在单独进行安装RPM包的时候能够进行安装,报错截图如下: 具体的报错信息如下: Error Downl ...
- sgu 194 Reactor Cooling(有容量上下界的无源无汇可行流)
[题目链接] http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=20757 [题意] 求有容量上下界的无源无汇可行流. [思路] ...
- 自定义实现InputFormat、OutputFormat、输出到多个文件目录中去、hadoop1.x api写单词计数的例子、运行时接收命令行参数,代码例子
一:自定义实现InputFormat *数据源来自于内存 *1.InputFormat是用于处理各种数据源的,下面是实现InputFormat,数据源是来自于内存. *1.1 在程序的job.setI ...
- <Araxis Merge>保存文件
1.保存文件 在任何时候都可以使用File菜单中的Save和Save As来保存文件.使用Save将修改的部分保存回文件.使用Save As将会用新名称来保存文件.在你右击文件面板的时候也可以从快捷菜 ...