Problem in overriding malloc

后端 未结 9 2120
一整个雨季
一整个雨季 2020-12-30 09:24

I am trying to override malloc by doing this.

#define malloc(X) my_malloc((X))

void* my_malloc(size_t size)
{

    void *p = malloc(size);
    printf (\"All         


        
9条回答
  •  情歌与酒
    2020-12-30 09:47

    #define malloc(X) my_malloc((X)) 
    
    void* my_malloc(size_t size) 
    { 
        #define my_malloc(X) malloc((X)) 
    
        void *p = malloc(size); 
        printf ("Allocated = %s, %s, %s, %x\n",__FILE__, __LINE__, __FUNCTION__, p); 
        return p; 
    } 
    

    Here inside the function my_malloc, #define my_malloc(X) malloc((X)) will work. Outside this function it has no effect.Therefor, C malloc function will be invoked inside my_malloc

提交回复
热议问题