- 409 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 01:06:26 ]
- >>395
グローバル変数等静的なオブジェクトのコンストラクタ内など、 WinMain() や main() の実行よりも前に確保されたメモリは、main()関数終了前など早めの段階では 未だ解放されていないため、その辺で_CrtDumpMemoryLeaks()が呼び出されるとリ―クとして報告されてしまう。 実際には「まだ」解放されていないだけでリークではないのだけれども。 MFCを使っていないなら、_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF )とすれば、 諸々完了した正しいタイミングで自動的に_CrtDumpMemoryLeaks()を呼び出してリークのチェックを行ってくれる。 MFC は ExitInstance あたりで勝手に_CrtDumpMemoryLeaks()を呼びだすので、MFCを使用したコードの倍には こうしても正しい結果を得られない。 こんな説明ではどうだろう。
|

|