可以在gcc编译时添加-Wstrict-prototypes选项来获得详细的编译告警信息。如:
qige@ubuntu:~$ gcc -o qz *.c -Wstrict-prototypes
以下为告警示例及解决办法(因为HTML限制,请在使用时将所有的双引号“"”替换为“<”和“>”):
main.c:22: warning: incompatible implicit declaration of built-in function 'printf'
解决:添加#include "stdio.h"
main.c:14: warning: imcompatible implicit declaration of built-in function 'memset'
解决:添加#include "string.h"
main.c:211: warning: assignment makes pointer from integer without a cast
原因:将值赋给指针;
解决:使用“(*p) = value;”来赋值
main.c:100: warning: return makes pointer from integer without a cast
原因:将函数的结果作为返回值,但是前面并没有该函数的原型声明
解决:使用“#include”引用该函数的头文件