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;
}