根据资料;如下一段代码;
clock_t a,b;
float cputime;
a=time(NULL);
for (intz=0;z<10000000;z++){
float f=0;
for (int i = 0; i<n; ++i)
f+= h_idata[i];
}
b=time(NULL);
cputime=(float)(b-a);
printf("cuptime=%fmseconds\n",cputime);
前后2个time(NULL)相减,可以计算中间代码的执行时间;
下面看一下;
单独输出time(NULL)看一下;
time(NULL)会产生一个数值;
中间隔10万次循环,输出2个time(NULL)看一下;一样的;
增加循环次数,也是一样;
改为如下的代码,也是一样;
void CTest2View::OnDraw(CDC* pDC)
{
CTest2Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
time_t a = time(NULL);
CString str1;
str1.Format("%d", a);
pDC->TextOut(50, 50, str1);
int ti[200000];
for(int i=0; i<200000; i++)
{
ti[i] = 999 + i;
}
time_t b = time(NULL);
str1.Format("%d", b);
pDC->TextOut(50, 80, str1);
}
time(NULL)函数的返回值是从1970年1月1日0时整到此时此刻所持续的秒数;
下回继续;