ho dimenticato di includere `string.h' (strings.h nel caso di bsd) e `unistd.h', aggiungi questi include e sei a posto.

Cmq `implicit declaration' significa dichiarazione implicita, nel nostro caso la funzione viene dichiarata nel momento in cui la utilizziamo, perchè non c'è il prototipo. Includendo l'header si importano le dichiarazioni delle funzioni
oppure volendo possiamo dichiararle esplicitamente:
codice:
extern signed int read(int, void *, unsigned int);
extern void *memcpy(void *, const void*, unsigned int);