私はインテル®コンパイラー、32ビットでMSVC6モードでコンパイルされたC++コードを持っているので、msvcrt.dllまたはmsvcrtd.dllのいずれかを使用します。このプロセスでは、大量のメモリの割り当てと割り当て解除が行われます。WMIを使用してメモリ使用量を監視し、VirtualSizeとWorkingSetSizeを確認します。
デバッグランタイム(msvcrtd.dll)を使用:仮想定数1.7GB、
非デバッグランタイム(msvcrt.dll)を使用して動作定数1.2GB:仮想レイズ1.7〜2.1GB
、
非デバッグランタイムを使用して1.2〜1.4GBをレイズしますが、デバッガー(windbg):仮想定数1.7GB、動作定数
2.1 GBの仮想では、プロセスがクラッシュします(予想どおり)。しかし、仮想使用量が(デバッグ以外の)msvcrt.dllでのみ、デバッガーの下にない場合にのみ増加するのはなぜですか?すべての場合において、コンパイルフラグは同一であり、ランタイムライブラリのみが異なります。