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;
或者
#ifdef DEBUG
RETAILMSG(1,(TEXT("Receive a packet\t\n")));
#endif;
使用RETAILMSG宏时,应注意一个问题:
由于RETAILMSG需要Unicode类型的字符串,所以使用的时候应该这样写
RETAILMSG(1,(TEXT("%s\n"),TEXT("Your str")));
http://www.cnblogs.com/falla/archive/2010/02/01/1660937.html