_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 デバッグ ヒープ」を参照してください。 割り当てブロックの種類とそれらの使用方法の詳細については、「デバッグ ヒープ上のメモリ ブロックの型」を参照してください。 アプリケーションのデバッグ ビルドで標準ヒープ関数を呼び出す場合とデバッグ バージョンを呼び出す場合との違いについては、「デバッグ バージョンのヒープ割り当て関数」を参照してください。
必要条件
ルーチン |
必須ヘッダー |
---|---|
_aligned_free_dbg |
<crtdbg.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
同等の .NET Framework 関数
該当なし。標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。