我目前支持一些以前编写的遗留软件,用gcc 2.95.3编译。该程序在SBC中运行,偶尔我必须远程登录才能解决问题。我注意到当SBC独立运行时,它会显示一些意想不到的行为,例如:错过了执行。
当我进行远程登录时,杀死进程并手动执行它,这样就可以了。我怀疑这与执行printf
没有适当的终端/控制台进行打印有关。
如果未处理printf
,会产生什么影响?
答案 0 :(得分:0)
可能是因为系统正在尝试打印到硬件串口(实际上很慢),而当你用TCP端口取而代之的telnet时呢?
答案 1 :(得分:0)
这取决于您使用的stdio库,大多数都会尝试写入控制台,所以......
您应该将STDOUT和STDERR重定向到NULL或文件,这应该很容易安静。 gcc 2.95非常稳定,所以我们几乎可以排除任何问题。