默认情况下,gcc在编译.c文件时不会抱怨跳过变量初始化,而在编译.cpp文件时会抱怨。我要它在编译C文件时抱怨。有没有简单的方法可以做到这一点?
例如,.c中的以下代码不会产生任何警告/错误,而在.cpp中,它将产生:
int main()
{
goto out;
int i = 0;
out:
return 0;
}
Run Code Online (Sandbox Code Playgroud)
结果:
int main()
{
goto out;
int i = 0;
out:
return 0;
}
Run Code Online (Sandbox Code Playgroud)
使用-Wjump-misses-init选项(或者-Werror=jump-misses-init如果您希望它是一个硬错误):
$ gcc -Wjump-misses-init try.c
try.c: In function 'main':
try.c:3:9: warning: jump skips variable initialization [-Wjump-misses-init]
goto out;
^~~~
try.c:5:1: note: label 'out' defined here
out:
^~~
try.c:4:13: note: 'i' declared here
int i = 0;
^
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
43 次 |
| 最近记录: |