次の方法で共有


_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」を参照してください。

関連項目

デバッグ ルーチン