宏比函数实现在时间上的优越性探讨

时间:2010-05-07 18:36:57  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:''作标记*/(GETMAX(X,Y,Z)>=GETMAX(M,N,P)?GETMAX(X,Y,Z):GETMAX(M,N,P))int main(void){  time_t start,end;  long i;  clrscr();  start=clock();  for(i=0;i<10000000;i++)    tGETMAX(1,2,3,4,5,6);  end=clock();  printf("%lf",(double)(end-start)/CLK_TCK);  getch();}执行时间:0.054945秒
  正文:

例子二:用宏实现.
#include<stdio.h>
#include<conio.h>
#include<time.h>
#define GETMAX(X,Y,Z) ((X>=Y?X:Y)>=Z?(X>Y?X:Y):Z)
#define tGETMAX(X,Y,Z,M,N,P) /*由于一行不好写,所以将其写到第二行,但要加一个''作标记*/
(GETMAX(X,Y,Z)>=GETMAX(M,N,P)?GETMAX(X,Y,Z):GETMAX(M,N,P))
int main(void)
{
  time_t start,end;
  long i;
  clrscr();
  start=clock();
  for(i=0;i<10000000;i++)
    tGETMAX(1,2,3,4,5,6);
  end=clock();
  printf("%lf",(double)(end-start)/CLK_TCK);
  getch();
}
执行时间:0.054945秒
可执行文件大小:29,497字节

由于上面二个例子可见:在时间上1.373626秒与0.054945秒之间的差值.
在空间上29,938字节与29,497字节之间的差值.

这里需要注意的是,使用宏来实现在空间上的优势只当宏使用得很少.
但当宏使用得多空间效率就没有用函数来实现的好.

宏比函数实现在时间上的优越性探讨》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Language/VC/2010-05-07/13916.html


关键字:

关于《宏比函数实现在时间上的优越性探讨》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td