掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
MFCがメモリーリーク? (ID:67457)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お世話になります。閃人です。 以下の構成でアプリを作っています。 A. Win32 Application B. Win32 Static Library(MFCをサポート) AにBをlinkさせて、Bでダイアログを表示させる。 -------------------------------- Bのグローバル変数として、以下を定義しています。 CWinApp theApp; AのWinMainの引数を使って、Bで以下を実行しています。 if( !AfxWinInit(hInstance, hPrevInstance, lpCmdLine, nCmdShow) ) { ASSERT( "MFC failed to initialize!" ); return false; } AからBを呼び出し、Bで以下を実行しています。 CSampleDialog pcDialog = new CSampleDialog() pcDialog->Create(); pcDialog->ShowWindow(SW_SHOW); -------------------------------- 以上の手順で、ダイアログを表示することには成功しました。 ですが、アプリを終了すると、大量メモリリークが表示されます。 Detected memory leaks! Dumping objects -> {100478} normal block at 0x0B1E8850, 4 bytes long. Data: <8J > 38 4A EA 01 {100477} normal block at 0x03C82400, 16 bytes long. Data: < @ > 98 40 EA 01 00 00 00 00 00 00 00 00 00 00 00 00 (一部抜粋) ご覧の通り、場所が表示されていないため特定できません。 AfxWinInitを呼ばなければメモリリークは表示されません。 (それだと、MFCは使えないのでダイアログの部分はコメントアウト) ググッて見たのですが、1件だけ同じ問題を記述している人がいましたが、解決策は書かれていませんでした。 何か終了処理的なことを明示的に呼ばなければいけないのか。 コンパイルオプションが足りないのか。 何日も調べているのですが、私の力では解決できませんでした。 この構成で必ず作らなければならないため、 解決策をお教えいただけないでしょうか。 宜しくお願い致します。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.