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中提供了很多关于时间操作的函数,编写程序时我们可以跟据定时的不同精度要求选择不同的时间函数来完成定时和 ...
随机推荐
- UVa 1640 (计数) The Counting Problem
题意: 统计[a, b]或[b, a]中0~9这些数字各出现多少次. 分析: 这道题可以和UVa 11361比较来看. 同样是利用这样一个“模板”,进行区间的分块,加速运算. 因为这里没有前导0,所以 ...
- BZOJ1049: [HAOI2006]数字序列
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1049 题解: ydc的题解:http://pan.baidu.com/share/link?u ...
- Deferred的那些知识
在移动开发中的各种中,我们一定会遇到异步回调的问题,比如: 1:Css3执行动画完毕, 回调 2:Jquery Animate动画的执行完毕, 回调 3:Ajax的执行(并行.串行),回调 等等 ...
- PhoneGap 安装体验
npm -v #显示版本,检查npm 是否正确安装. npm install express #安装express模块 npm install -g express #加上 -g 启用global安装 ...
- hdu 4617 Weapon(叉积)
大一学弟表示刚学过高数,轻松无压力. 我等学长情何以堪= = 求空间无限延伸的两个圆柱体是否相交,其实就是叉积搞一搞 详细点就是求两圆心的向量在两直线(圆心所在的直线)叉积上的投影 代码略挫,看他的吧 ...
- TCP/IP详解学习笔记(14)-TCP连接的未来和性能(未写完)
在TCP刚出世的时候,其主要工作环境是以太网和SLIP之类的低速网络.随着高速网络的出现,让TCP协议的吞吐量更大,效率更高的要求就愈来愈迫切.为此,TCP增加了三个重要机制来对应现在的变化,他们是 ...
- css的伪元素
这里想将的是两个伪元素,一个是:first-line——用来向文本的首行添加特殊样式,并且不论该行出现多少单词:只能与块状元素关联. 如下属性可以应用于:first-line伪元素 font属性 co ...
- mysql中出现的Data truncated for column
mysql中想一个数据库中插入一条记录时,有可能因为好多原因,会出现Data truncated for column XXXXX的错误,这是因为你的数据类型的长度不一致导致的,仔细查看一下数据类型的 ...
- Centos6.5下编译安装ACE6.0
ACE在Linux下的编译安装步骤(CentOS6.5 64Bit) Linux平台安装(CentOS6.5 64bit) 1, 下载ACE软件包,上传至Linux服务器(假设目录为/opt/ace, ...
- 【转】traits技术及模板偏特化
#include <iostream> using namespace std; struct __xtrue_type { }; // define two mark-type stru ...