warning:
一、关于 implicit declaration of function 一点经验之谈
用gcc编译c程序的时候 经常会出现
implicit declaration of function '...' 的warning
偶经过这几天的经验,发现主要有2种情况会产生这种warning
1 没有把函数所在的c文件生成.o目标文件
2 在函数所在的c文件中定义了,但是没有在与之相关联的.h文件中声明
二、但是此调用处编译出现warming如下:
warning: assignment makes pointer from integer without a cast
请问为啥会有这样的warming,如何修改才能不出现这样的warming?
answer:
没有函数声明。
未经声明的函数原型一律默认为返回int值
这样、就相当于你调用了int cfg_get(const char *name);
但是把返回值赋给了char*变量.
三、switch引发的错误:a label can only be part of a statement and a declaration is not a statement
GCC:
error: a label can only be part of a statement and a declaration is not a statement
switch(a){ swtch(a){
case 1: case 1:
.................... {
.................... ...............
.................... ...............
break; ................
case 2: }
break; break;
} case 2:
break;
}
Error OK