_aligned_free_dbg
_aligned_malloc
または_aligned_offset_malloc
で割り当てられたメモリブロックを解放します (デバッグのみ)。
構文
void _aligned_free_dbg(
void *memblock
);
パラメーター
memblock
_aligned_malloc
または _aligned_offset_malloc
関数に返されたメモリ ブロックへのポインター。
解説
_aligned_free_dbg
関数は、_aligned_free
関数のデバッグ バージョンです。 _DEBUG
が定義されていない場合、_aligned_free_dbg
の各呼び出しは、_aligned_free
の呼び出しに減らされます。 _aligned_free
と _aligned_free_dbg
は、どちらもベース ヒープのメモリ ブロックを解放しますが、_aligned_free_dbg
はデバッグ機能を提供します。解放されたブロックをヒープのリンク リストに保持してメモリ不足の状況をシミュレートする機能です。
_aligned_free_dbg
は、解放操作を実行する前に、指定されたすべてのファイルおよびブロックの位置の有効性チェックを実行します。 アプリケーションはこの情報を提供する必要はありません。 メモリ ブロックが解放されると、デバッグ ヒープ マネージャーは、ユーザー部分の両側のバッファーの整合性を自動的にチェックします。 上書きが発生した場合は、エラー レポートが発行されます。 _crtDbgFlag
フラグの_CRTDBG_DELAY_FREE_MEM_DF
ビット フィールドが設定されている場合、解放されたブロックには0xDD値が入力され、_FREE_BLOCK
ブロックの種類が割り当てられ、ヒープのリンクされたメモリ ブロックの一覧に保持されます。
メモリの解放でエラーが発生すると、エラーの性質に関するオペレーティング システムからの情報が errno
に設定されます。 詳細については、「errno
」、「_doserrno
」、「_sys_errlist
」、および「_sys_nerr
」を参照してください。
基本ヒープのデバッグ バージョンでのメモリ ブロックの割り当て、初期化、および管理方法については、「 CRT デバッグ ヒープの詳細を参照してください。 割り当てブロックの種類とその使用方法については、「デバッグ ヒープ上のブロックの種類を参照してください。 標準ヒープ関数とそのデバッグ バージョンの違いについては、「 Debug バージョンのヒープ割り当て関数を参照してください。
要件
ルーチンによって返される値 | 必須ヘッダー |
---|---|
_aligned_free_dbg |
<crtdbg.h> |
互換性の詳細については、「 Compatibility」を参照してください。