[問題] perl程式執行流程問題

看板Programming作者 (敏)時間14年前 (2010/01/20 22:30), 編輯推噓3(304)
留言7則, 3人參與, 最新討論串1/1
我的程式是長這樣 ============================== print 開始 需要點時間的程式(呼叫副程式) print 結束 ============================== 但執行起來都會先過幾秒 然後一起顯示開始結束 正常不是應該先顯示開始,過個幾秒再顯示結束嗎? 我有試著在那個副程式裡加入print,就正常了 另外轉成exe檔案變超大就算了,為什麼程式打開變超久... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 115.43.158.209

01/21 06:18, , 1F
...電腦快是好事阿
01/21 06:18, 1F
什麼意思? 不懂....

01/21 10:25, , 2F
請把那二行print改成分別印出二個時間值
01/21 10:25, 2F

01/21 10:25, , 3F
看看有沒有差距. 如果沒有差距才懷疑問題.
01/21 10:25, 3F
我直接 print localtime(time) 應該也可以吧? 結果似乎是一樣的= = 中間程式有加print 開始 1156102101104200 完成 3456102101104200 開始 3556102101104200 完成 4256102101104200 中間程式沒加print 開始 1158102101104200 完成 3058102101104200 開始 3158102101104200 完成 4058102101104200 但實際在畫面上看到的不是這樣... 而是 等幾秒(很明顯是在做中間的程式) 然後一起顯示開始結束 中間有加print時 顯示開始 print *n (中間那段程式有迴圈,所以會顯示好幾行) 然後才顯示結束...

01/21 11:14, , 4F
哎,這個好難解,我找找資料..
01/21 11:14, 4F

01/21 11:14, , 5F
一般的猜測是可能I/O跟程式不同步
01/21 11:14, 5F

01/21 11:15, , 6F
對了,中間是呼叫副程式...
01/21 11:15, 6F

01/21 11:24, , 7F
http://0rz.tw/9eXPf ex 7.6的描述,可參考
01/21 11:24, 7F
似乎加個 $| = 1; 就好了 雖然還沒仔細測試,但方向應該沒錯 感謝^^ ※ 編輯: abccbaandy 來自: 115.43.158.209 (01/21 11:57)
文章代碼(AID): #1BLnDunp (Programming)