Problem beim Überschreiben von Malloc

Ich versuche, malloc zu überschreiben, indem ich das tue.

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

void* my_malloc(size_t size)
{

    void *p = malloc(size);
    printf ("Allocated = %s, %s, %s, %x\n",__FILE__, __LINE__, __FUNCTION__, p);
    return p;
}

Dies ruft my_malloc jedoch auf unbestimmte Zeit rekursiv auf (aufgrund des malloc-Aufrufs in my_malloc). Ich wollte die C-Malloc-Funktion in my_malloc aufrufen und nicht die Makroimplementierung. Könnten Sie mir bitte mitteilen, wie das geht?

Vielen Dank.

Antworten auf die Frage(9)

Ihre Antwort auf die Frage