TraceLife

真正的幸福,在于对平淡生活的热爱……

导航

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;
}