【发布时间】:2021-12-14 06:30:29
【问题描述】:
-Wdeclaration-after-statement 选项是否只有风格?我的意思是,如果我在我的 C 代码中对定义了变量的所有情况进行宏处理,并以从旧样式 C90 迁移到新 C99 样式的相同方式在它们中初始化它们,那么该代码是否是字节码? -byte 一样吗?
以下是选项 -Wdeclaration-after-statement 的记录方式(来自 man gcc):
在块中的语句之后发现声明时发出警告。这个结构源自 C++,是随 ISO C99 引入的,默认情况下在 GCC 中是允许的。 ISO C90 不支持它。
它允许你使用类似的代码
int a;
{
a = 42;
printf( "%d", a );
}
把它变成
int a = 42;
printf( "%d", a );
【问题讨论】:
-
不,这不是纯粹的风格。如果您编写的代码也必须在 C90 编译器上构建,那么当您编写其他编译器不支持的代码时,您会希望收到警告。
-
@NateEldredge 已更新至清晰——这不是我的意思。我也在下面自己回答了这个问题。