看板 C_and_CPP 關於我們 聯絡資訊
請教各位個問題 目前我用很笨的方式 程式邏輯大概是這樣 while (true) { cin>>num; if num==1 { 把資料寫出檔案} else if num==2 { matlab處理完後 讀檔案} else exit(0); } 我按下1 會把資料寫成binary file 給我用matlab寫的程式讀取後處理 這時我程式會卡在cin>>num; 我肉眼發現matlab算好了 就按下2 讓程式讀檔案然後處理 但是matlab要算很久 大概七八小時 我大概過了四五小時會發現 因為我是雙核心 matlab占50% 我的程式 是按下f5執行 (VC8寫的) 所以我在工作管理員看到的 應該是devenv.exe 他占了40趴 讓我電腦很lag (我看記憶體也沒有爆增 應該也不是memory leak之類的) 一開始不會lag 過了很久才這樣 是因為我程式邏輯寫這樣所以hold 在cin>>導致什麼原因讓我cpu使用率占很高 還是其他因素呢@@ 謝謝.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.207.187 ※ 編輯: QQ29 來自: 140.113.207.187 (08/04 16:12)
sunneo:說不定是\n在buffer使>>num得到型別錯誤 08/04 22:39
sunneo: ^^^型別不符 08/04 22:40
pico2k:請改用do while... 08/05 19:25
QQ29:請問有什麼差別嘛? 都還是停在cin>>? 08/05 20:40
slzhao:能否改用release直接run?看看還有沒有這種現象. 08/06 16:57