在Windows CE中,printf和RETAILMSG是两种不同的打印函数。
printf是标准的C库函数,用于在控制台或输出设备上打印消息。它通常在调试时使用,可以在屏幕上直接输出调试信息。printf函数的输出默认是直接打印到标准输出流stdout,而在Windows CE中,默认情况下,标准输出流(stdout)并不会与设备的屏幕进行关联。因此,printf函数的输出并不会直接显示在屏幕上,而是会被重定向到其他地方,如调试器的输出窗口。
RETAILMSG是Windows CE中的一个宏,用于在调试和发布版本中打印调试信息。它可以用于输出调试信息到调试器的输出窗口、内核日志文件(KERNEL.LOG)或通过调试串口输出。RETAILMSG是在Windows CE的调试版本中定义的,因此在发布版本中不会生效。
因此,printf和RETAILMSG的输出结果可能会不一致,主要是因为它们的输出方式和目标不同。如果你想在Windows CE中直接在屏幕上输出调试信息,可以考虑使用其他特定于平台的函数或方法,如MessageBox或OutputDebugString。