C 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;

使用RETAILMSG宏时,应注意一个问题:
由于RETAILMSG需要Unicode类型的字符串,所以使用的时候应该这样写
RETAILMSG(1,(TEXT("%s\n"),TEXT("Your str")));

你可能感兴趣的:(printf)