[問題] Cygwin的畫面更新問題

作者: jasonlee1001 (Jason)   2020-10-24 17:46:34
請問大家,我在Cygwin底下跑程式,有印出大量 text,但是文字
卻不會很 smooth 地印出,而是似乎累積了一堆之後,才一次丟出
到螢幕,然後停在某個字元後,又等程式跑到一堆結果後,又一次
打印出來。感覺似乎是有 buffer 之類的先暫存,滿了之後一次倒出。
有沒有辦法改為讓打印不要先送到 buffer 直接印出到 console 呢?
我的 OS 是 Win7 64bit.
作者: bitlife (BIT一生)   2020-10-24 17:48:00
假設你是用stdio.h相關函式,資料寫出後使用 fflush這問題比較屬於c語言之類的問題,不是linux特定的問題
作者: jasonlee1001 (Jason)   2020-10-24 17:51:00
不是自寫的程式,只是在別台電腦可以很smooth打印出字母-by-字母, 而不是一次傾印出一大堆.
作者: bitlife (BIT一生)   2020-10-24 18:01:00
不是自己寫的,又不是linux平台,最好是去問作者
作者: Gold740716 (項為之強)   2020-10-24 22:38:00
linux 程式如果輸出是終端機多半不會 buffer ,但如果用管道串了一些程式,程式看到輸出是管道就會有buffer行為,參考harttle.land/2020/06/06/tail-f-pipe.html
作者: jasonlee1001 (Jason)   2020-10-24 23:20:00
謝謝樓上G大解釋,因為兩台不同等級PC都跑Cygwin+同一程式,輸出到console的方式卻有差異,有buf太久會讓我誤以為程式當掉.因為沒有cygwin版故到此發問,謝!

Links booklink

Contact Us: admin [ a t ] ucptt.com