1
2
3
4
5
6
7
8
9
10
11
12
13
|
#include <stdio.h> int main( void )
{ int i = -10;
if (i < 0) {
exit (1);
}
return 0;
} |
编译信息如下:
$ gcc demo.c demo.c: In function ‘main’: demo.c:9: warning: incompatible implicit declaration of built-in function ‘exit’ |
出错的原因是因为没有包含对应的都文件信息。可以尝试使用下面几种方法解决:
添加 #include <stdlib.h> 头文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#include <stdlib.h> #include <stdio.h> int main( void )
{ int i = -10;
if (i < 0) {
exit (1);
}
return 0;
} |
编译时使用 [-fno-builtin-exit] 选项关闭警告
$ gcc -fno-builtin-exit demo.c $ |
使用系统定义常量移植性更好
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#include <stdio.h> #include <stdlib.h> int main( void )
{ int i = -10;
if (i < 0) {
exit (EXIT_SUCCESS);
}
return 0;
} |
warning: incompatible implicit declaration of built-in function 'exit'