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

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_STATEdkcstd_malloc_init (size_t init_size, size_t expand_size)
DKC_EXTERN int dkcstd_malloc_end ()
DKC_EXTERN DKCSTD_MALLOC_STATEdkcstd_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.h16 行で定義されています。

参照元 aligned_malloc_calc(), と dkcstd_aligned_malloc().


型定義

typedef struct dkcstd_malloc_state DKCSTD_MALLOC_STATE
 


関数

DKC_EXTERN void dkcstd_aligned_free void *   ) 
 

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

参照先 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.c85 行で定義されています。

参照先 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.c104 行で定義されています。

参照先 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.c47 行で定義されています。

参照元 dkcstd_aligned_free().

00047                          {
00048     dkcstdFREE_BASE(p);
00049 }

DKC_EXTERN DKCSTD_MALLOC_STATE* dkcstd_get_malloc_state  ) 
 

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

参照先 STATE.

00033                                               {
00034     return &STATE;
00035 }

DKC_EXTERN void* dkcstd_malloc size_t  size  ) 
 

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

参照先 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.c24 行で定義されています。

参照先 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.c16 行で定義されています。

参照先 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.c52 行で定義されています。

参照先 dkcstd_malloc(), と NULL.

参照元 dkcstd_aligned_realloc().

00052                                                    {
00053     if(NULL==memblock){
00054         return dkcstd_malloc(size);
00055     }
00056     return dkcstdREALLOC_BASE(memblock,size);
00057 }


dkutil_cstdに対してSat Sep 10 09:19:24 2005に生成されました。  doxygen 1.4.4