warning: incompatible implicit declaration of built-in function 'exit'

来源:互联网 发布:淘宝网开通淘金币活动 编辑:程序博客网 时间:2024/05/16 10:15
尝试编译如下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int
main(void)
{
    inti = -10;
     
    if(i < 0) {
        exit(1);
    }
 
    return0;
}

  编译信息如下:

$ 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)
{
    inti = -10;
     
    if(i < 0) {
        exit(1);
    }
 
    return0;
}


编译时使用 [-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)
{  
    inti = -10;
     
    if(i < 0) {
        exit(EXIT_SUCCESS);
    }
     
    return0;
}
0 0
原创粉丝点击