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
ありがとうございます