我有很长的多线程应用程序,我不能在这里添加代码。从主程序我打电话
freopen ("uniq_name",w+,stdout)
之后不同的线程开始运行。从其中一些写入stdout发生。
从其中一些写入stderr发生(也可能被重定向)。在成功打印到uniq_name
的rundom次数之后,我突然看到打印到屏幕,我希望它应该转到uniq_name
文件。在对屏幕进行了这样的随机打印之后,我再次看到打印到uniq_name
文件。
它在Win7和Linux上运行正常 - 失败在Win8上。
我有任何想法(甚至是理论上的) - 这可能是什么原因