次の方法で共有


_heapchk

ヒープの整合性チェックを実行します。

int _heapchk( void );

戻り値

_heapchk は Malloc.h で定義されているマニフェスト定数の整数の 1 を返します。

  • _HEAPBADBEGIN
    最初のヘッダー情報は悪かったりが見つかりません。

  • _HEAPBADNODE
    不適切なノードですまたはヒープは傷つきます。

  • _HEAPBADPTR
    ヒープへのポインターは無効です。

  • _HEAPEMPTY
    ヒープを初期化します。

  • _HEAPOK
    ヒープが一貫して表示されます。

またエラーが発生すると_heapchk は ENOSYS に errno を設定します。

解説

_heapchk の関数によりヒープの最小の整合性をチェックしヒープに関する問題をデバッグします。オペレーティング システムが _heapchk(たとえばWindows 98) をサポートする関数の戻り値 _HEAPOK は ENOSYS に errno を設定します。

必要条件

ルーチン

必須ヘッダー

オプション ヘッダー

_heapchk

<malloc.h>

<errno.h>

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

使用例

// crt_heapchk.c
// This program checks the heap for
// consistency and prints an appropriate message.
 
#include <malloc.h>
#include <stdio.h>

int main( void )
{
   int  heapstatus;
   char *buffer;

   // Allocate and deallocate some memory
   if( (buffer = (char *)malloc( 100 )) != NULL )
      free( buffer );

   // Check heap status
   heapstatus = _heapchk();
   switch( heapstatus )
   {
   case _HEAPOK:
      printf(" OK - heap is fine\n" );
      break;
   case _HEAPEMPTY:
      printf(" OK - heap is empty\n" );
      break;
   case _HEAPBADBEGIN:
      printf( "ERROR - bad start of heap\n" );
      break;
   case _HEAPBADNODE:
      printf( "ERROR - bad node in heap\n" );
      break;
   }
}
  

同等の .NET Framework 関数

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

参照

関連項目

メモリ割り当て

_heapadd

_heapmin

_heapset

_heapwalk