您的位置:首页 > 运维架构 > Linux

Linux C 错误处理 warning: incompatible implicit declaration of built-in function ‘exit’

2015-04-17 20:28 1261 查看
程序:

#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
int main(){
umask(0);
if(creat("example_681.test",S_IRWXU|S_IRWXG|S_IRWXO)<0){
perror("creat");
exit(1);
}
umask(S_IRWXO);
if(creat("example_682.test",S_IRWXU|S_IRWXG|S_IRWXO)<0)
{
perror("creat");
exit(1);
}
return 0;
}


在linux下面常见编译错误之一:

root@ubuntu:~/test201504# gcc -o test_umask test_umask.c

test_umask.c: In function ‘main’:

test_umask.c:9:8: warning: incompatible implicit declaration of built-in function ‘exit’ [enabled by default]

test_umask.c:15:5: warning: incompatible implicit declaration of built-in function ‘exit’ [enabled by default]

原因:

没有加入相应头文件。

#include<stdlib.h>即可,修改后:

#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
int main(){
umask(0);
if(creat("example_681.test",S_IRWXU|S_IRWXG|S_IRWXO)<0){
perror("creat");
exit(1);
}
umask(S_IRWXO);
if(creat("example_682.test",S_IRWXU|S_IRWXG|S_IRWXO)<0)
{
perror("creat");
exit(1);
}
return 0;
}


编译正常。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐