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 + -
显示快捷键?