_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」を参照してください。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示