Chinaunix首页 | 论坛 | 博客
  • 博客访问: 222245
  • 博文数量: 53
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 507
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-22 13:38
文章分类

全部博文(53)

文章存档

2009年(1)

2008年(52)

我的朋友

分类:

2008-08-28 18:54:51

   printf() 与 RETAILMSG() 差别
 
   这个printf(),大家可能都是很熟悉的了,而RETAILMSG()是在evc 下的嵌入式开发 s3c2410,arm9 ,用的,在wince 操作系统下的。
  大家在调试信息的时候,一般都会用到这些函数,来显示输出信息;evc 对两个函数也都是支持的。
  但是,如果系统对实时性要求高的话,那么这两个函数就会有很大的区别;
  printf 函数的所使用的时间要远比RETAILMSG()大的多。printf函数的调用大约要用去100毫秒的时间,而RETAILMSG()用的时间大约10毫秒;
  所以在,debug 版本的调试中,在输出信息的地方,能用RETAILMSG()就用RETAILMSG();尽量不用printf;
  当然在,realease 版本中,要把所有的输出调试信息的函数尽量都屏蔽掉;方法是通过使用 #ifdef ,如下:
#ifdef DEBUG
  printf("\n broadcast Hello");
#endif;
【or】
#ifdef DEBUG
  RETAILMSG(1,(TEXT("Receive a packet\t\n")));
#endif;
那么,在debug的版本中,为什么printf函数和RETAILMSG()会有这么大的时间差别呢??
  这个问题待研究???????
 
 
 
 
 
 
阅读(2649) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~