memory.c
来自「这是一个C的源代码」· C语言 代码 · 共 57 行
C
57 行
#include <stdlib.h>#include <stdio.h>#include <string.h>#include "pbc_memory.h"static void *default_pbc_malloc(size_t size){ void *res = malloc(size); if (!res) { fprintf(stderr, "PBC: malloc() error\n"); exit(1); } return res;}static void *default_pbc_realloc(void *ptr, size_t size){ void *res = realloc(ptr, size); if (!res) { fprintf(stderr, "PBC: realloc() error\n"); exit(1); } return res;}static void default_pbc_free(void *ptr){ free(ptr);}void *(*pbc_malloc)(size_t) = default_pbc_malloc;void *(*pbc_realloc)(void *, size_t) = default_pbc_realloc;void (*pbc_free)(void *) = default_pbc_free;void pbc_set_memory_functions(void *(*malloc_fn)(size_t), void *(*realloc_fn)(void *, size_t), void (*free_fn)(void *)){ pbc_malloc = malloc_fn; pbc_realloc = realloc_fn; pbc_free = free_fn;}void *pbc_calloc(size_t nmemb, size_t size){ void *res = pbc_malloc(nmemb * size); memset(res, 0, nmemb * size); return res;}char *pbc_strdup(const char *s){ int len = strlen(s); char *res = pbc_malloc(len + 1); strcpy(res, s); return res;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?