Probleme beim compilieren mit mempcpy
-
Hallo,
ich verwende den gnu-C Compiler unter Linux und habe einen Sourcecode, der den Befehl mempcpy benutzt.
Auf einem Rechner, auf dem SuSe 9.3 läuft, kann ich ihn ohne Warnung compilieren, auf einem neuen Rechner, auf dem SuSe 11 läuft, erscheint:**warning: incompatible implicit declaration of built-in function ‘mempcpy’
**
... hat jemand 'ne Idee, was ich da ändern muss, damit es auf dem neuen Rechner ohne Warnung geht?Dankeschön ...
-
Ja, Du musst <string.h> einbinden.
Hintergrund ist, dass eine nicht deklarierte Funktion bei ihrem ersten Aufruf implizit als
int funktion()
deklariert wird. GCC weiss aber in neueren Versionen, dass memcpy in Wirklichkeit in string.h alsvoid *memcpy(void *dest, const void *src, size_t n)
deklariert wird. Deshalb warnt er Dich, dass die implizite Deklarationint memcpy()
nicht mit der tatsächlichen Deklaration übereinstimmt.