• ベストアンサー

VC++6.0 の/Zm オプションについて

 ソースが巨大化しすぎて、エラーになるので /Zm800 と指定すると問題解決しました。  しかし、今後、さらなる巨大化が予想されるために /Zm1000 としたところ、fatal error C1060: ヒープの領域を使い果たしました。とエラーが出て困ってします。  パソコンは、メインメモリ 1GB + 仮想メモリ 10GBです。 にもかかわらずエラーが出て困っています。 http://msdn.microsoft.com/ja-jp/library/bdscwf1c(VS.80).aspx  どなたかアドバイスをよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • davidfox
  • ベストアンサー率58% (21/36)
回答No.2

>/Zm1000 としたところ、... 手持ちの MSDNによれば デフォルト値が 100 で105MB、よって1000なら1GBを超えます。 普通のデスクトップ向けWindwos では1GBは取れないので、指定値が不正と考えるべきだと思います。 800で問題無いなら(今は)それでいいんじゃないでしょうか。

その他の回答 (1)

回答No.1

>ソースが巨大化しすぎて、エラーになるので 「1関数1ソース」となるように分割コンパイルするしかないでしょう。 もし「すべてが1つのクラスで実装してあって、ソース分割出来ない」としたら「基本的な設計ミス」なので、機能ごとにクラスを階層化するなど「基本的な部分から設計し直す必要がある」でしょう。

noname#192260
質問者

補足

 クラスは、約200以上に階層化していますが  当方、複雑なアプリケーションを組んでいるため、メンテナンス性を考えると、1つのDLLの方が都合が良いのです。

関連するQ&A