Advertisement

用于输出malloc和free调试信息的宏函数

阅读量:

用于输出 malloc 与 free 调试信息的宏函数定义。

复制代码
    #include <stdlib.h>
    #include <stdio.h>
    void *__my_malloc(unsigned long size) {
    	return malloc(size);
    }
    
    void *__my_free(void *ptr) {
    	free(ptr);
    }
    
    #define my_malloc(size) ({ \
    	void *__ptr__ = __my_malloc(size); \
    	printf("[ALLOC] %32s:%4d | addr= %p, size= %lu, expr= `%s`\n" \
    		, __FUNCTION__, __LINE__ \
    		, __ptr__, size \
    		, #size); \
    	__ptr__; \
    })
    
    #define my_free(ptr) ({ \
    	printf("[ FREE] %32s:%4d | addr= %p, expr= `%s`\n" \
    		, __FUNCTION__, __LINE__ \
    		, 

全部评论 (0)

还没有任何评论哟~