0

CでVisual Studio Professional 2010を使用して開発されたWindowsコンソールアプリケーションがあります。テスト目的で、2つのシステムで実行しています.1つのシステム(Windows XP)では、タスクマネージャーはメモリのサイズを約2000 Kと報告し、他のシステムでは600 K のみです。実行ファイルのサイズに変更はありません (300 K のみ)。

XP システムは Visual Studio 2010 Express を使用して exe を生成し、Windows 7 システムは Visual Studio 2010 Professional を使用して生成しました。どちらの場合も、実行可能サイズはまったく同じです。

これはなぜですか?どうすれば同じサイズにできますか?

システムによってロードされたdllに問題がありますか。プログラムによって使用される dll は、場合によって異なります。

以下を使用して、2 つのシステムによってロードされた dll を確認しました。

tasklist /m /fi "イメージ名 eq [プログラム名]"

Windows XP システムでの出力:

                               ntdll.dll, kernel32.dll, KERNELBASE.dll,
                               MSVCR100D.dll, WS2_32.dll, msvcrt.dll,
                               RPCRT4.dll, NSI.dll, mswsock.dll,
                               user32.dll, GDI32.dll, LPK.dll, USP10.dll,
                               IMM32.DLL, MSCTF.dll, wshtcpip.dll

Windows 7 システムでの出力:

                              ntdll.dll, kernel32.dll, MSVCR100D.dll,
                              WS2_32.dll, ADVAPI32.dll, RPCRT4.dll,
                              Secur32.dll, msvcrt.dll, WS2HELP.dll,
                              mswsock.dll, hnetcfg.dll, GDI32.dll,
                              USER32.dll, IMM32.DLL, wshtcpip.dll

ありがとうございます

4

1 に答える 1

0

VMMapは、概要情報と詳細なプロセス メモリ マップを表示します。メモリ消費のレイアウトをファイルに保存してから、異なる OS バージョンの比較を行うことができます。

メモリ内のファイルの配布は、オペレーティング システムのバージョンによって異なります。Windows 7 では、 MinWinを介した exe によるフットプリント メモリの消費と読み込み時間が削減されます (新しい dll kernelbase.dll を確認できます)。

于 2013-01-29T07:17:05.530 に答える