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

来源:互联网 发布:c语言 flag 编辑:程序博客网 时间:2024/06/06 00:17

http://joysofprogramming.com/gcc-incompatible-implicit-declaration-bzero/

这个警告加上#include <strings.h>就可以了。


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 oncebzero.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.

原创粉丝点击