Re: [問題] 計算開關檔

看板C_and_CPP作者 (生活撐下去)時間15年前 (2010/09/02 13:20), 編輯推噓3(3011)
留言14則, 5人參與, 最新討論串2/2 (看更多)
在我程式某一部分 file.h 內容裡 我有自行寫了 如下 void D1<T>::WriteBinary(const char* filename){ ofstream fout(filename,ios::binary); if(!fout.good()){ cout<<"ERROR::[D1<T>::WriteBinary] The output filename is error! -> "; cout<<filename<<endl; exit(EXIT_FAILURE); } fout.write(reinterpret_cast<char*>(_v),sizeof(T)*_n); fout.close(); 最後當掉 所以會有這訊息出現 ↓ ERROR::[D1<T>::WriteBinary] The output filename is error! -> output_111_40.raw int main() { for (m = 0; m < 360; m++){ for(n=20; n <= 50; n += 5){ do something................. ............................. ............................. output_m_n.raw; // file name fopen(output_m_n.raw); fwrite(output_m_n.raw); flcose(output_m_n.raw); } } } 大致上簡單描敘 此程式結合了 MPI & GPU CUDA MPI 部分 主要分配 m & n 兩值 GPU CUDA 就主要處理做些繁雜的事情 然後處理完後 回傳至Host 簡單來說數據寫入該檔是在非 gpu cuda內完成的 以這for loop來看 就可知 開關檔次數是如此的多 約2520檔 由於檔案那麼多 才想說 是不是有上限問題? 也基於好奇 想知道 程式跑到某部分時 我的開關檔 以多少次數了 不知道這樣的敘述 是否清楚 !? ※ 引述《dick1024 (生活撐下去)》之銘言: : 請問版上的高手們 ...小弟不才有事請教 : C or C++ 有指令(寫法) 計算開關檔的次數嘛!? : 由於我實驗的程式內有開關檔的動作 : 但每當程式跑到某部分時 就會error : for () : { : do something.... : ................. : ................. : fopen() : fwrite() : fclose() : do something.... : ................. : ................. : } : 都有確保有開關檔的動作 : 但for loop 跑到一定值後 卻會當掉了 : 開關檔 有上限制次數 ? : 由於for loop 非常大 所以我才想說 : 看看有沒有指令(寫法) 可看出我的開關檔次數多少了 : 請問這方面的指令(寫法)嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.64.185.202

09/02 15:32, , 1F
關於開關檔次數, 你把其他動作都拿掉, for-loop裡只放
09/02 15:32, 1F

09/02 15:33, , 2F
開、寫、關的動作.
09/02 15:33, 2F

09/02 15:33, , 3F
另外, fout.good() 做了什麼判斷?
09/02 15:33, 3F

09/02 16:46, , 4F
fout.good() 判斷開啟檔案失敗
09/02 16:46, 4F

09/02 16:55, , 5F
is_open 才是判斷開檔成功與否
09/02 16:55, 5F

09/02 17:15, , 6F
恩 謝指教 我再去問了一下原始作者fout.good()這部分好了
09/02 17:15, 6F

09/02 17:15, , 7F
不過我主要想問的是..............= = "
09/02 17:15, 7F

09/02 17:16, , 8F
有沒有指令(寫法) 可看出我的開關檔次數多少了!?
09/02 17:16, 8F

09/02 17:16, , 9F
這才是我的重點啦 Orz
09/02 17:16, 9F

09/02 17:17, , 10F
程式中自己開檔關檔的時候拿個變數++就好啦
09/02 17:17, 10F

09/03 00:35, , 11F
印象中系統可能會限制同時開檔不關的最大數量(還是那是
09/03 00:35, 11F

09/03 00:35, , 12F
很古早的限制了??) 檔案你要連續開關應該沒有限制吧@_@"
09/03 00:35, 12F

09/03 00:52, , 13F
開檔不關有限制阿,那張表不可能無限大
09/03 00:52, 13F

09/03 00:53, , 14F
但是有正確關了再開,那就應該沒限制,我的想法同V大
09/03 00:53, 14F
文章代碼(AID): #1CVpG8RX (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1CVpG8RX (C_and_CPP)