C++相談室 part24

このエントリーをはてなブックマークに追加
>ただまぁ、コンパイル速度ってCPUもさることながらI/Oの性能にも
>かなり依存してるとこがあると思うんだが。
自分もそう思ってた口なんだが、実測してみると
I/Oはほとんど影響ないみたい。

>>952
分散コンパイルにするとネットワークを介してファイルや何かをやりとりするから、
そこがボトルネックになりがち。ローカルディスクだと話が違ってくる。
>>分散コンパイルにするとネットワークを介してファイルや何かをやりとりするから
設定次第だけど、タイムスタンプ比較でキャッシングするので
ネットワーク越しに限らず、その負荷は無視できるほど小さいケースが
多いっすよ。
>>うちのプロジェクトは、大体150個の.cppファイルと
何行くらいのファイル?
150個というと、かなり小規模プロジェクトかもしれないけど
ポリシーによって上下するのでなんともいえない。
>>954
> 設定次第だけど
うーむ、ネットワーク管理部門に NFS の設定を見直してもらうかなぁ。ちなみに
キーになりそうな設定項目が何か分かる?

俺のトコロだと C++ でソースをコンパイルする場合、単一プロセスだと CPU 使用率
(ユーザ時間 + システム時間 / 実時間) は 60% 程度。複数のファイルを並列で
コンパイルすると 100% 近く行くけど。
分散コンパイルをするためのwikiページ
http://acapulco.dyndns.org/pukiwiki/pukiwiki.php?distcc
distccの本家はこちら。
http://distcc.samba.org/
>うーむ、ネットワーク管理部門に NFS の設定を見直してもらうかなぁ。
>ちなみにキーになりそうな設定項目が何か分かる?
samba経由(linux上)にソース置いてるので、sambaでの設定なら分かるけど
NFSは不明。
山田うどんのホームページがつながらないよ!!
http://www.yamada-udon.com/
961デフォルトの名無しさん:03/11/04 17:40
Boostのregexを使ってみたのですが、関数内で

  boost::reg_expression<wchar_t> strRegExp=m_pwcRegStr;
  boost::match_results<std::wstring::const_iterator> cResult;
  BOOL bRes=boost::regex_search(stdStr, cResult, strRegExp);

とあり、この関数が2度以上呼ばれるとメモリーリーク起こすようなのですが
どのように対処すればよいですか?あと、正規表現自体の文法エラーを

  catch(boost::bad_expression){}    ・・・(1)

で、キャッチしているのですが、MFCだと

  catch(CMemoryException *pE){ pE->delete(); return -1; }

みたいなことが必要なので(1)でもdelete()処理をする必要があったりはしないのですか?
>>961
後半だけ、よく見比べれば飛んでるのがポインタかそうでないかの違いがあることに気づくはず。
963961:03/11/04 17:57
>>962
ぐぐってみると、
 catch(boost::bad_expression *e){}
 catch(boost::bad_expression&){}
なんてものがヒットしたんで混乱してます。・・・どちらにせよ例外時のメモリ解放処理は
ヒットしないので必要なさそうではあるのですが
> とあり、この関数が2度以上呼ばれるとメモリーリーク起こすようなのですが
> どのように対処すればよいですか?
boostのバグトラックかregexの作者さんに
メール投げるかするとよいと思われ。
>>964
分かったから次スレ立てて
966964:03/11/04 21:36
>>965
わかったけど今テンプレを連張りするとアクセス禁止くらいそうだから、
そんときは続きをよろしく。
967964:03/11/04 21:45
968デフォルトの名無しさん:03/11/05 10:41
山田うどん復活!!
969デフォルトの名無しさん:03/11/06 15:30
オメ!!
970デフォルトの名無しさん:03/11/09 00:27
ちゃんと最後まで埋めなさい!
埋めるならageるな
拡張子のcppとcc、どちらかに統一しなさい!
>>972
cxxやCは不許可ですか?
         v――.、
      /  !     \
       /   ,イ      ヽ
     /  _,,,ノ !)ノリハ    i                                        
    i  jr三ミ__r;三ミ_   ヽ     
    l  ,iヾ二ノ ヽ二 ハ   ノ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ヽ、.l  ,.r、_,っ、  !_,    <  >>1 糞スレ立てんな、蛆虫、氏ね。
       !  rrrrrrrァi! L.     \______________
       ゝ、^'ー=~''"' ;,∧入
   ,r‐‐'"/ >、__,r‐ツ./   ヽ_
  /  /  i" i, ..:  /  /  ヽ-、   
 ./  ヽ> l    /   i     \

         v――.、
      /  !     \
       /   ,イ      ヽ
     /  _,,,ノ !)ノリハ    i                                        
    i  jr三ミ__r;三ミ_   ヽ     
    l  ,iヾ二ノ ヽ二 ハ   ノ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ヽ、.l  ,.r、_,っ、  !_,    <  >>1 糞スレ立てんな、蛆虫、氏ね。
       !  rrrrrrrァi! L.     \______________
       ゝ、^'ー=~''"' ;,∧入
   ,r‐‐'"/ >、__,r‐ツ./   ヽ_
  /  /  i" i, ..:  /  /  ヽ-、   
 ./  ヽ> l    /   i     \

976デフォルトの名無しさん:03/11/09 19:39
大文字のCなんていう拡張子使うのか?
977デフォルトの名無しさん:03/11/09 19:41
>>976
はじめの頃はそれを使っていたとか。
でもWindowsみたいにファイル名の大文字小文字を区別しないOSで問題が出るからやめたとか。
C++ Primerか何かで読んだ。
978デフォルトの名無しさん:03/11/09 19:45
へぇーへぇー
979デフォルトの名無しさん:03/11/09 22:37
C++でcinに文字バッファが残っているかどうかってどうやって調べるんですか?
もし残っていたら特定の処理がしたいので、if分の条件式に入れたいと思っています。
cin.rdbuf()->in_avail()
 め
  る
   ぞ
986デフォルトの名無しさん:03/11/10 14:01
ロマサガ2をやろうかな

         v――.、
      /  !     \
       /   ,イ      ヽ
     /  _,,,ノ !)ノリハ    i                                        
    i  jr三ミ__r;三ミ_   ヽ     
    l  ,iヾ二ノ ヽ二 ハ   ノ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ヽ、.l  ,.r、_,っ、  !_,    <  >>1 糞スレ立てんな、蛆虫、氏ね。
       !  rrrrrrrァi! L.     \______________
       ゝ、^'ー=~''"' ;,∧入
   ,r‐‐'"/ >、__,r‐ツ./   ヽ_
  /  /  i" i, ..:  /  /  ヽ-、   
 ./  ヽ> l    /   i     \
988デフォルトの名無しさん:03/11/10 23:48
捕手新党が自民党に吸収されたってね。
ただのヘタレ政党じゃん。
そろそろC--の時代じゃないか?
時代じゃありません。
そろそろC//の時代じゃないか?
992デフォルトの名無しさん:03/11/11 00:54
記念カキコ v(^-^=)
ずさっと
しかしよく続くねぇ>このスレ
5秒前
4秒前
(プゲラッチョ
sage
(rァ゚Д゚)rァ 死刑! >999
1000取得
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。