warning: incompatible implicit declaration of built-in function 'exit'
Posted on 2008-06-11 11:09 hallo 阅读(21249) 评论(0) 收藏 举报尝试编译如下代码:
#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> 头文件
》》》★ 示例
#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 $ |
使用系统定义常量移植性更好
》》》★ 示例
#include <stdio.h>
#include <stdlib.h>
int
main(void)
{
int i = -10;
if (i < 0) {
exit(EXIT_SUCCESS);
}
return 0;
}
浙公网安备 33010602011771号