_aligned_free_dbg

または _aligned_offset_malloc (デバッグのみ) で_aligned_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 は、解放操作を実行する前に、指定されたすべてのファイルおよびブロックの位置の有効性チェックを実行します。 アプリケーションはこの情報を提供する必要はありません。 メモリ ブロックが解放されると、デバッグ ヒープ マネージャーは、ユーザー部分の両側のバッファーの整合性を自動的にチェックします。 上書きが発生した場合は、エラー レポートが発行されます。 フラグの_CRTDBG_DELAY_FREE_MEM_DF_crtDbgFlagビット フィールドが設定されている場合、解放されたブロックには0xDD値が入力され、ブロックの種類が割り当てられ_FREE_BLOCK、ヒープのリンクされたメモリ ブロックの一覧に保持されます。

メモリの解放でエラーが発生すると、エラーの性質に関するオペレーティング システムからの情報が errno に設定されます。 詳細については、「errno」、「_doserrno」、「_sys_errlist」、および「_sys_nerr」を参照してください。

基本ヒープのデバッグ バージョンでのメモリ ブロックの割り当て、初期化、および管理方法については、CRT デバッグ ヒープの詳細を参照してください。 割り当てブロックの種類とその使用方法については、「デバッグ ヒープ上のブロックの種類」を参照してください。 標準ヒープ関数とそのデバッグ バージョンの違いについては、ヒープ割り当て関数のデバッグ バージョンを参照してください

必要条件

ルーチンによって返される値 必須ヘッダー
_aligned_free_dbg <crtdbg.h>

互換性の詳細については、「 Compatibility」を参照してください。

関連項目

デバッグ ルーチン