我最近在gcc上启用了-pedantic
选项,现在我收到了大约两到三页的“ISO C90禁止混合声明和代码”警告。
我对该项目的目标是能够使用c编译器将其部署在任何主流系统上,因此我意识到假设C99将在任何地方都受支持并不是明智的选择,但是值得我花些时间解决这些警告吗?
是否还有使用不支持混合声明和代码的c编译器的系统?
最佳答案
好吧,您是否打算用C89/90或C99编写代码?
由于这是您似乎关心的唯一警告,因此显然您的代码实际上是用C89/90编写的。如果确实如此,并且您打算坚持使用C89/90,那么我将坚持严格的C89/90,并将所有声明移至该块的开头。
另一方面,如果您愿意并计划切换到C99,则“放错位置”的声明不再是问题。然后,您主要关心的是平台/编译器支持。 MS Visual Studio C编译器是C89/90编译器。这有问题吗? (考虑到GCC在Windows平台上可用)。
关于c - "Mixed declaration and code"警告,值得解决吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1975866/