2011-09-27 48 views
0

我目前支持一些旧版软件,编译在gcc 2.95.3中。该程序运行在SBC中,偶尔我必须通过远程登录才能修复问题。我注意到,当SBC单独运行时,它显示出一些意想不到的行为,例如错过了处决。如果printf没有处理,会发生什么

当我做telnet时,杀死进程并手动执行它,它保持良好的方式。我怀疑这与执行printf没有适当的终端/控制台打印它有关。

如果printf没有被处理,会有什么影响呢?

+2

尝试运行标准输出重定向到/ dev/null的进程? –

+0

是的,我可以,但如果没有处理printf会发生什么,例如标准输出是控制台,但没有控制台 – freonix

+0

建议的目的是查看当使用标准输出重定向到/ dev/null时是否仍然出现问题 - 如果不挂起,那么您的假设可能是正确的 - 如果它仍然挂起那么问题可能在其他地方。 –

回答

0

难道是系统试图打印到硬件串行端口(它真的很慢),而当你的telnet替换为TCP端口?

0

这取决于你使用stdio库,大多数人会尝试写入反正安慰,所以......

你应该重定向您的标准输出和STDERR为NULL或文件,这应该是安静的容易。 gcc 2.95非常稳定,所以我们几乎可以排除任何问题。

相关问题