MFC测量功能以毫秒为单位



如何计算某个函数(重复调用)所花费的毫秒数?
我想到:
CTime::GetCurrentTM()之前,

后的CTime::GetCurrentTM()

然后将结果插入CTimeSpan diff = after - before
最后将diff存储到全局成员中,该成员将所有diffs求和,因为我想知道该函数花费的总时间。

,但它会以秒为单位给出答案,而不是毫秒。

MFC是c++,对吗?

如果是,可以直接使用clock()

#include <ctime>
clock_t time1 = clock();
// do something heavy
clock_t time2 = clock();
clock_t timediff = time2 - time1;
float timediff_sec = ((float)timediff) / CLOCKS_PER_SEC;

如果你正在使用MFC,最好的方法是使用WIN API。由于您担心的只是计算时差,下面的函数可能非常适合您。

GetTickCount64()

直接返回自系统启动以来经过的毫秒数。

如果你不打算让你的系统长时间运行(确切地说超过49.7天),稍微快一点的版本- GetTickCount()函数

COleDateTime已知在内部以毫秒为单位工作,因为它将时间戳存储在其m_dt变量上,该变量是DATE类型的,因此具有预期目的的分辨率。

我可以建议你把你的时间安排在

DATE now= (DATE) COleDateTime::GetCurrentTime();

相关内容

  • 没有找到相关文章

最新更新