【问题标题】:Compiler Warnings编译器警告
【发布时间】:2011-05-09 10:25:37
【问题描述】:

您好,最近我在 Ubuntu 中安装了许多数字软件。

在我使用提供的 make 文件手动安装的许多软件中,我经常看到编译阶段会产生许多警告。

是否可以忽略此类编译器警告?很多人告诉我,警告并不重要。 我很迷惑。我想确保我已正确安装软件。谁能给我一些指导方针,一般情况下我应该忽略哪些警告或应该认真对待哪些警告。

我看到的许多警告涉及一些变量正在初始化或控件到达非 void 函数的末尾。

如果这听起来像一个模糊的问题,我很抱歉。但我真的不知道该怎么表达它。

谢谢。

【问题讨论】:

  • 您可以放心地忽略所有警告。您需要关心的唯一情况是编译失败时。 Ubuntu 的包管理器会在发生这种情况时通知您,您无需关注编译器的输出。
  • 他没有为此使用包管理器;他说他正在手动构建。

标签: compiler-warnings


【解决方案1】:

编译器警告表示可能导致问题或可能产生程序员没有意识到的意外影响的事情。

不同的编译器比其他编译器发出更多或更少的警告,并且它们都可以选择增加或减少警告的数量(在终端中输入 man gcc 以了解我的意思)。

由于我假设您从已经过审查等的开源项目中获取数字软件,因此您无需担心编译器警告,因为编写它的人认为代码没问题。当他们第一次编译它时,他们会说同样的警告,并且很可能会查看它们并说:“我看到了这些警告,但我可以忽略它们。一切都很好。”但是,您可能需要在编译自己的代码时注意警告,具体取决于警告的内容。

【讨论】:

  • @Matthew 那是我的错。固定
【解决方案2】:

警告通常很重要,但由于您不是开发人员,因此您几乎不可能通过这种方式找到错误。如果它编译成功(没有错误),你应该没问题。

【讨论】:

    【解决方案3】:

    编译器警告会告诉您可能您的代码有问题 - 它们通常不会阻止您的代码正确运行,但它们有助于告诉您可能出现的问题如果您确实体验过。

    在您的情况下,可能只是因为您正在编译的代码是按照稍微不同的标准编写的 - 如果 gcc 注意到您可能忽略的某些内容,gcc 通常会根据编译器选项向您发出警告,但可以抑制这些,它们并不一定表明软件质量差。

    如果您的软件没有问题,您可能无需担心警告。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-10
      • 2012-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多