警告:函数'exit'的隐式声明

61

这是我的警告。

implicit declaration of function 'exit'

我该如何移除它。

我正在使用Linux和GCC编译器。


14
使用man 3 exit命令可以查看需要包含的头文件。 - Roger Pate
3个回答

137

添加:

#include <stdlib.h>

将代码移到程序顶部。


1
@Greg Hewgill:在我的程序中,我没有使用#include <stdlib.h>,只有当我使用-Wall选项时才会收到此警告。否则,程序可以编译成功并且可执行文件可以正常运行。这意味着gcc能够在没有我的包含的情况下链接到该文件。这是如何发生的? - Lazer
2
@eSKay:在 C 语言中,除非您使用“-Wmissing-protypes”警告开关(该开关由“-Wall”打开),否则隐式声明是允许的 - Greg Hewgill

12

你是否拥有这个预处理器?如果没有,请添加。

#include <stdlib.h>

2

exit()是一个库函数,相应的原型存在于stdlib.h头文件中。为了调用进程指定的退出函数代码,您需要在程序中附加#include stdlib.h头文件。这就是我们应该添加stdlib.h头文件的原因。尽管您可以运行程序,但它会显示如下警告消息:

warning: incompatible implicit declaration of built-in function ‘exit’ [enabled by default]      

但是,这种程序并不推荐使用,我们需要小心处理程序中给出的内容,要谨慎。警告可能会导致运行时错误。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接