如果不处理printf会发生什么

时间:2011-09-27 05:22:45

标签: c posix

我目前支持一些以前编写的遗留软件,用gcc 2.95.3编译。该程序在SBC中运行,偶尔我必须远程登录才能解决问题。我注意到当SBC独立运行时,它会显示一些意想不到的行为,例如:错过了执行。

当我进行远程登录时,杀死进程并手动执行它,这样就可以了。我怀疑这与执行printf没有适当的终端/控制台进行打印有关。

如果未处理printf,会产生什么影响?

2 个答案:

答案 0 :(得分:0)

可能是因为系统正在尝试打印到硬件串口(实际上很慢),而当你用TCP端口取而代之的telnet时呢?

答案 1 :(得分:0)

这取决于您使用的stdio库,大多数都会尝试写入控制台,所以......

您应该将STDOUT和STDERR重定向到NULL或文件,这应该很容易安静。 gcc 2.95非常稳定,所以我们几乎可以排除任何问题。