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

  尝试编译如下代码:

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

你可能感兴趣的:(function)