メインページ | アルファベット順一覧 | データ構造 | ファイル一覧 | データフィールド | グローバル | 関連ページ

# malloc.h

malloc.hの代わり [詳細]

`#include "os.h"`

malloc.hのインクルード依存関係図

このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。

ソースコードを見る。

## データ構造
struct | dkcstd_malloc_state
## マクロ定義
#define | dkcstdMALLOC_MEMORY_ALIGN 64
## 型定義
typedef dkcstd_malloc_state | DKCSTD_MALLOC_STATE
## 関数
DKC_EXTERN DKCSTD_MALLOC_STATE * | dkcstd_malloc_init (size_t init_size, size_t expand_size)
DKC_EXTERN int | dkcstd_malloc_end ()
DKC_EXTERN DKCSTD_MALLOC_STATE * | dkcstd_get_malloc_state ()
DKC_EXTERN void * | dkcstd_malloc (size_t size)
DKC_EXTERN void | dkcstd_free (void *)
DKC_EXTERN void * | dkcstd_realloc (void *memblock, size_t size)
DKC_EXTERN void * | dkcstd_aligned_malloc (size_t size)
DKC_EXTERN void | dkcstd_aligned_free (void *)
DKC_EXTERN void * | dkcstd_aligned_realloc (void *memblock, size_t size)

## 説明

malloc.hの代わり

作者:
  d金魚

から:
  2005/01/17

malloc.h で定義されています。

## マクロ定義

#define dkcstdMALLOC_MEMORY_ALIGN 64

| malloc.h の 16 行で定義されています。 参照元 aligned_malloc_calc(), と dkcstd_aligned_malloc().

## 型定義

typedef struct dkcstd_malloc_state DKCSTD_MALLOC_STATE

## 関数

DKC_EXTERN void dkcstd_aligned_free | ( | void * |  | ) |

| malloc.c の 99 行で定義されています。 参照先 aligned_free_calc(), と dkcstd_free().
    00099                                  {
    00100     a = aligned_free_calc(a);
    00101     dkcstd_free(a);
    00102 }

DKC_EXTERN void* dkcstd_aligned_malloc | ( | size_t | size | ) |

| malloc.c の 85 行で定義されています。 参照先 aligned_malloc_calc(), dkcstd_malloc(), dkcstdMALLOC_MEMORY_ALIGN, と NULL.
    00085                                         {
    00086     size_t ss = size +  dkcstdMALLOC_MEMORY_ALIGN + sizeof(void *);
    00087     void *p = dkcstd_malloc(ss);
    00088
    00089
    00090     if(NULL==p){
    00091         return NULL;
    00092     }
    00093     p = aligned_malloc_calc(p);
    00094
    00095     return p;
    00096 }

DKC_EXTERN void* dkcstd_aligned_realloc | ( | void * | memblock,
|  | size_t | size
| ) |

| malloc.c の 104 行で定義されています。 参照先 aligned_free_calc(), aligned_malloc_calc(), と dkcstd_realloc().
    00104                                                         {
    00105     void *p;
    00106     //if(memblock){
    00107         memblock = aligned_free_calc(memblock);
    00108         p = dkcstd_realloc(memblock,size);
    00109         p = aligned_malloc_calc(p);
    00110     //}else{
    00111     //  p = aligned_malloc(size);
    00112     //}
    00113     return p;
    00114 }

DKC_EXTERN void dkcstd_free | ( | void * |  | ) |

| malloc.c の 47 行で定義されています。 参照元 dkcstd_aligned_free().
    00047                          {
    00048     dkcstdFREE_BASE(p);
    00049 }

DKC_EXTERN DKCSTD_MALLOC_STATE* dkcstd_get_malloc_state | ( |  | ) |

| malloc.c の 33 行で定義されています。 参照先 STATE.
    00033                                               {
    00034     return &STATE;
    00035 }

DKC_EXTERN void* dkcstd_malloc | ( | size_t | size | ) |

| malloc.c の 40 行で定義されています。 参照先 NULL. 参照元 dkcstd_aligned_malloc(), と dkcstd_realloc().
    00040                                  {
    00041     if(0==size){
    00042         return NULL;
    00043     }
    00044     return dkcstdMALLOC_BASE(size);
    00045 }

DKC_EXTERN int dkcstd_malloc_end | ( |  | ) |

| 戻り値: エラー時は-1 malloc.c の 24 行で定義されています。 参照先 STATE.
    00024                        {
    00025     int r;
    00026     if(STATE.alloc_count != 0){
    00027         r = -1;
    00028     }
    00029
    00030     return r;
    00031 }

DKC_EXTERN DKCSTD_MALLOC_STATE* dkcstd_malloc_init | ( | size_t | init_size,
|  | size_t | expand_size
| ) |

| malloc.c の 16 行で定義されています。 参照先 STATE.
    00016                                                                             {
    00017     STATE.init_size = init_size;
    00018     STATE.expand_size = expand_size;
    00019     STATE.alloc_count = 0;
    00020
    00021     return &STATE;
    00022 }

DKC_EXTERN void* dkcstd_realloc | ( | void * | memblock,
|  | size_t | size
| ) |

| malloc.c の 52 行で定義されています。 参照先 dkcstd_malloc(), と NULL. 参照元 dkcstd_aligned_realloc().
    00052                                                    {
    00053     if(NULL==memblock){
    00054         return dkcstd_malloc(size);
    00055     }
    00056     return dkcstdREALLOC_BASE(memblock,size);
    00057 }