次の方法で共有


AfxCheckMemory

この関数は、空きメモリ プールを検証し、必要に応じてエラー メッセージが出力されます。

BOOL AfxCheckMemory( );

戻り値

ゼロ以外のメモリ不足エラーはありません; それ以外の場合は 0。

解説

関数がメモリ破損を検出しない場合は、何も印刷されません。

現在ヒープ上に割り当てられたすべてのメモリ ブロックは new によって割り当てられた malloc これらの関数または GlobalAlloc のウィンドウ関数など、基になるメモリ アロケーターへの直接呼び出しにより割り当てられたこれらが、チェックされません。どのブロックが破損する場合、メッセージは、デバッガーの出力に出力されます。

行が含まれている場合

#define new DEBUG_NEW

プログラム モジュールでは、を AfxCheckMemory への後続の呼び出しでは、メモリが割り当てられたファイル名と行番号を示します。

[!メモ]

モジュールがシリアル化可能なクラスの一つ以上の実装が含まれている場合、 IMPLEMENT_SERIAL の最後のマクロ呼び出しの後に #define の行を配置します。

この関数は、 MFC のデバッグ バージョンでのみ使用できます。

使用例

CAge* pcage = new CAge(21);  // CAge is derived from CObject.
Age* page = new Age(22);     // Age is NOT derived from CObject.
*(((char*)pcage) - 1) = 99;   // Corrupt preceding guard byte
*(((char*)page) - 1) = 99;    // Corrupt preceding guard byte
AfxCheckMemory();

必要条件

ヘッダー : afx.h

参照

概念

MFC マクロとグローバル