#include "malloc.h"
#include "memory.h"
malloc.cのインクルード依存関係図
マクロ定義 | |
#define | STATE dkcstd_malloc_state_obj |
関数 | |
DKCSTD_MALLOC_STATE * | dkcstd_malloc_init (size_t init_size, size_t expand_size) |
int | dkcstd_malloc_end () |
DKCSTD_MALLOC_STATE * | dkcstd_get_malloc_state () |
void * | dkcstd_malloc (size_t size) |
void | dkcstd_free (void *p) |
void * | dkcstd_realloc (void *memblock, size_t size) |
static DKC_INLINE void * | aligned_malloc_calc (void *a) |
static DKC_INLINE void * | aligned_free_calc (void *a) |
void * | dkcstd_aligned_malloc (size_t size) |
void | dkcstd_aligned_free (void *a) |
void * | dkcstd_aligned_realloc (void *memblock, size_t size) |
変数 | |
DKCSTD_MALLOC_STATE | dkcstd_malloc_state_obj |
malloc.c で定義されています。
|
参照元 dkcstd_get_malloc_state(), dkcstd_malloc_end(), と dkcstd_malloc_init(). |
|
参照元 dkcstd_aligned_free(), と dkcstd_aligned_realloc(). 00076 { 00077 BYTE *p = a; 00078 uint32 *pb; 00079 void *f; 00080 pb = (uint32 *)( (BYTE *)(p - sizeof(void *)) ); 00081 f = (void *)(*pb);//ただのpbになっていた。○| ̄|_ 00082 return f; 00083 }
|
|
参照先 dkcstd_pointer_align(), と dkcstdMALLOC_MEMORY_ALIGN. 参照元 dkcstd_aligned_malloc(), と dkcstd_aligned_realloc(). 00061 { 00062 BYTE *p = (BYTE *)a; 00063 uint32 *op,*base = (uint32 *)p; 00064 //assert(sizeof(uint32 *) == sizeof(void *)); 00065 00066 00067 p += sizeof(void *); 00068 p = dkcstd_pointer_align(p,dkcstdMALLOC_MEMORY_ALIGN); 00069 00070 //最初のアドレスを保存 00071 op = (uint32 *)( (BYTE *)(p - sizeof(void *)) ); 00072 *op = (uint32)base; 00073 return p; 00074 }
|
|
参照先 aligned_free_calc(), と dkcstd_free(). 00099 { 00100 a = aligned_free_calc(a); 00101 dkcstd_free(a); 00102 }
|
|
参照先 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 }
|
|
参照先 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 }
|
|
|
|
参照先 STATE. 00033 { 00034 return &STATE; 00035 }
|
|
参照先 NULL. 参照元 dkcstd_aligned_malloc(), と dkcstd_realloc(). 00040 { 00041 if(0==size){ 00042 return NULL; 00043 } 00044 return dkcstdMALLOC_BASE(size); 00045 }
|
|
参照先 STATE. 00024 { 00025 int r; 00026 if(STATE.alloc_count != 0){ 00027 r = -1; 00028 } 00029 00030 return r; 00031 }
|
|
参照先 STATE. 00016 { 00017 STATE.init_size = init_size; 00018 STATE.expand_size = expand_size; 00019 STATE.alloc_count = 0; 00020 00021 return &STATE; 00022 }
|
|
参照先 dkcstd_malloc(), と NULL. 00052 { 00053 if(NULL==memblock){ 00054 return dkcstd_malloc(size); 00055 } 00056 return dkcstdREALLOC_BASE(memblock,size); 00057 }
|
|
|