gcc: Compilation Warning: incompatible implicit declaration of built-in function `bzero’

http://joysofprogramming.com/gcc-incompatible-implicit-declaration-bzero/
이 경 고 는\#include를 더 하면 됩 니 다.
The purpose of bzero() as described by the man page
       bzero - write zero-valued bytes

Let’s make use of bzero in a simple program
int main(int argc, char*argv[]){
    void *s;
    size_t n;
bzero(s,n);
    return 0;
}

Now compile the program bzero.c…
$ gcc bzero.c

You will see the following warnings.
bzero.c: In function ‘main’:
bzero.c:4: error: ‘size_t’ undeclared (first use in this function)
bzero.c:4: error: (Each undeclared identifier is reported only once
bzero.c:4: error: for each function it appears in.)
bzero.c:4: error: expected ‘;’ before ‘n’
bzero.c:5: warning: incompatible implicit declaration of built-in function ‘bzero’
bzero.c:5: error: ‘n’ undeclared (first use in this function)

This is because we missed to add the headers which declare the function bzero() and the supporting types Let’s add the relevant header files (.h) and compile the program
#include <strings.h>

int main(int argc, char*argv[]){
    void *s;
    size_t n;
bzero(s,n);
    return 0;
}

Compile..
$ gcc bzero.c

Now you will find that the program is successfully compiled and linked.

좋은 웹페이지 즐겨찾기