QNX在什么情况下,会遇到 printf( ) 没有输出的情况?如何解决呢?
譬如说,怀疑程序卡在一系列运算之中,于是在前面加入一个简单的打印语句:
printf( "before\n" );
结果执行的时候却没有看到。
排除程序卡在打印语句之前的情况的话,还会有什么原因造成没有打印输出呢?
谢谢。
QNX在什么情况下,会遇到 printf( ) 没有输出的情况?如何解决呢?
譬如说,怀疑程序卡在一系列运算之中,于是在前面加入一个简单的打印语句:
printf( "before\n" );
结果执行的时候却没有看到。
排除程序卡在打印语句之前的情况的话,还会有什么原因造成没有打印输出呢?
谢谢。
建立 c++ 程序,使用语句如下
cout<<std::endl;
句末的 endl 会强制把缓存中的数据全部“挤出来”
标准输出被关闭了,或被重定位到别的设备上了。
谢谢答复。
重定位到别的设备能理解,因为还有保存到硬盘的语句。
至于“标准输出被关闭”,是指什么情况下呢?
谢谢答复。
重定位到别的设备能理解,因为还有保存到硬盘的语句。
至于“标准输出被关闭”,是指什么情况下呢?
比如说 “close(1);” 就把标准输出给关了。
当然没事一般自己不会去做这样的close()。不过,传统地把自己变成daemon的函数(fork() + setgrp() + close())都会自动关0, 1, 2;还有可能是 spawn()的时候没有继承 0, 1,2 …
iNFINITE:谢谢答复。
重定位到别的设备能理解,因为还有保存到硬盘的语句。
至于“标准输出被关闭”,是指什么情况下呢?比如说 “close(1);” 就把标准输出给关了。
当然没事一般自己不会去做这样的close()。不过,传统地把自己变成daemon的函数(fork() + setgrp() + close())都会自动关0, 1, 2;还有可能是 spawn()的时候没有继承 0, 1,2 …
感谢答复。