作者jasonlee1001 (Jason)
看板Linux
標題[問題] Cygwin的畫面更新問題
時間Sat Oct 24 17:46:34 2020
請問大家,我在Cygwin底下跑程式,有印出大量 text,但是文字
卻不會很 smooth 地印出,而是似乎累積了一堆之後,才一次丟出
到螢幕,然後停在某個字元後,又等程式跑到一堆結果後,又一次
打印出來。感覺似乎是有 buffer 之類的先暫存,滿了之後一次倒出。
有沒有辦法改為讓打印不要先送到 buffer 直接印出到 console 呢?
我的 OS 是 Win7 64bit.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.111.28 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Linux/M.1603532796.A.88D.html
1F:→ bitlife: 假設你是用stdio.h相關函式,資料寫出後使用 fflush 10/24 17:48
2F:→ bitlife: 這問題比較屬於c語言之類的問題,不是linux特定的問題 10/24 17:49
3F:→ jasonlee1001: 不是自寫的程式,只是在別台電腦可以很smooth打印出 10/24 17:51
4F:→ jasonlee1001: 字母-by-字母, 而不是一次傾印出一大堆. 10/24 17:51
5F:→ bitlife: 不是自己寫的,又不是linux平台,最好是去問作者 10/24 18:01
6F:推 Gold740716: linux 程式如果輸出是終端機多半不會 buffer ,但如果 10/24 22:38
7F:→ Gold740716: 用管道串了一些程式,程式看到輸出是管道就會有buffer 10/24 22:39
8F:→ Gold740716: 行為,參考harttle.land/2020/06/06/tail-f-pipe.html 10/24 22:40
9F:→ jasonlee1001: 謝謝樓上G大解釋,因為兩台不同等級PC都跑Cygwin+同 10/24 23:20
10F:→ jasonlee1001: 一程式,輸出到console的方式卻有差異,有buf太久會讓 10/24 23:21
11F:→ jasonlee1001: 我誤以為程式當掉.因為沒有cygwin版故到此發問,謝! 10/24 23:23