C警告隐式声明函数'exit'

C警告隐式声明函数'exit'

问题描述:

这是我的警告。C警告隐式声明函数'exit'

implicit declaration of function 'exit' 

我如何删除它。

我正在使用linux gpcc编译器&。

+11

'man 3 exit'会显示包含的标题。 – 2010-03-09 07:01:30

地址:

#include <stdlib.h> 

到程序的顶部。

+1

@Greg Hewgill:在我的程序中,我没有使用'#include ',只有当我使用'-Wall'选项时才会出现此警告。否则,该程序会编译正确且可执行的正常运行。这意味着gcc可以以某种方式链接到文件,而无需包含它。这是怎么发生的? – Lazer 2010-05-06 16:13:06

+2

@eSKay:除非使用'-Wmissing-protypes'警告开关(由'-Wall'打开),否则隐式声明在C中是*允许的*。 – 2010-05-06 19:17:09

你有这个预处理器吗?如果没有,请添加它。

#include <stdlib.h> 

退出()是库函数的原型respecive中存在stdlib.h中头文件,inoder的进程调用了exit函数指定的代码,就需要附加的#在程序中包含stdlib.h标题。这就是我们应该添加stdlib.h头文件的原因。虽然你们可以运行程序,但它会显示警告信息象下面这样:

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

但是,这种方案不推荐,我们需要照顾的就是我们在节目中给出谨慎。 警告可能会导致运行时错误。