【问题标题】:C warning implicit declaration of function 'exit'C警告函数'exit'的隐式声明
【发布时间】:2010-03-09 06:04:17
【问题描述】:

这是我的警告。

implicit declaration of function 'exit'

我怎样才能删除它。

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

【问题讨论】:

  • man 3 exit 将显示要包含的标题。

标签: c gcc-warning


【解决方案1】:

添加:

#include <stdlib.h>

到程序的顶部。

【讨论】:

  • @Greg Hewgill:在我的程序中,我没有使用#include &lt;stdlib.h&gt;,并且只有在使用-Wall 选项时才会收到此警告。否则程序编译良好并且可执行文件正常运行。这意味着 gcc 能够以某种方式链接到该文件而无需我包含它。这是怎么回事?
  • @eSKay:在 C 中允许隐式声明,除非您使用-Wmissing-protypes 警告开关(由-Wall 打开)。
【解决方案2】:

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

#include <stdlib.h>

【讨论】:

    【解决方案3】:

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

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

    但是,不推荐这种程序,我们需要照顾我们在程序中给出的内容,小心。 警告可能会导致运行时错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-13
      • 1970-01-01
      • 2012-01-16
      • 1970-01-01
      相关资源
      最近更新 更多