为什么有些编译器错误在LabWindows / CVI 2013中返回为警告?



主要软件: LabWindows/CVI Development Systems>>LabWindows/CVI Full Development System
主要软件版本: 15.1
主要软件修正版本: N/A
次要软件: N/A

问题:

一段代码的错误在LabWindows / CVI 2012的编译器报出的是错误Error,在LabWindows / CVI 2013的编译器报出的是警告Warning。什么原因导致这种改变?


解答:

LabWindows / CVI 2013及更高版本使用Clang编译器,而不是LabWindows / CVI 2012及更早版本中使用的CVI编译器。LabWindows / CVI 2013及更高版本中的Clang编译器报出的一些编译器错误,而在早期的CVI编译器在中报出的是一些错误的警告。具有错误的代码模块将被成功编译,但可能会在运行时产生错误。

以下列表包含在LabWindows / CVI 2012及更早版本中产生编译器错误的代码错误,以及LabWindows / CVI 2013或更高版本中的编译器警告:
  • 不兼容的指针作为传递参数

    void foo (int *c)
    {
      return;
    }
    void bar (void)
    {
      char c;
      foo (&c);
    }
  • Extraneous return value

    void foo( )
    {
      return 0;
    }



相关链接:

KnowledgeBase Article 6A9GO5QW: Why are Compiler Errors No Longer Returned as Errors LabWindows/CVI 2013?

附件:





报告日期: 06/10/2013
最近更新: 08/30/2017
文档编号: 6A9GOOQW