次の方法で共有


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

デバッグ バージョンのベース ヒープに対するメモリ ブロックの割り当て、初期化、管理方法の詳細については、「メモリ管理とデバッグ ヒープ」を参照してください。割り当てブロックの型についてはそれらがどのように使用されるかについてはデバッグ ヒープ ブロックの型 を参照してください。アプリケーションのデバッグ ビルドの標準とデバッグ バージョンのヒープ関数呼び出しの違いについてはデバッグ バージョンを使用して基本バージョン を参照してください。

必要条件

ルーチン

必須ヘッダー

_aligned_free_dbg

<crtdbg.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

同等の .NET Framework 関数

該当なし標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。

参照

関連項目

デバッグ ルーチン