gcc/g+的有用选项是什么+;?

gcc/g+的有用选项是什么+;?,gcc,compiler-construction,g++,Gcc,Compiler Construction,G++,几乎众所周知,人们应该总是使用-Wall进行编译 在使用gcc/g++进行编译时,您还使用了哪些其他有用的选项?除了-Wall之外,您可能还需要-Wextra 调试程序时,gdb需要-g 如果您愿意,GCC可以同时接受-g和-O 最后,GCC的最新版本(即4.6或4.7快照)提供了比旧版本更好的警告 您可以使用-pedantic,将自己限制在一些标准范围内,避免GNU扩展。 我喜欢GNU扩展,所以我不想回避它们 所以我对C代码使用-std=gnu99,对C++11代码使用-std=gnu0x或-

几乎众所周知,人们应该总是使用
-Wall
进行编译


在使用
gcc
/
g++
进行编译时,您还使用了哪些其他有用的选项?

除了
-Wall
之外,您可能还需要
-Wextra

调试程序时,
gdb
需要
-g

如果您愿意,GCC可以同时接受
-g
-O

最后,GCC的最新版本(即4.6或4.7快照)提供了比旧版本更好的警告

您可以使用
-pedantic
,将自己限制在一些标准范围内,避免GNU扩展。 我喜欢GNU扩展,所以我不想回避它们

所以我对C代码使用
-std=gnu99
,对C++11代码使用
-std=gnu0x
-std=gnu11
,因为我喜欢扩展


你可以考虑使用甚至开发GCC插件或者扩展自己的具体需求。我非常喜欢-fdump rtl的所有细节,但我怀疑你是否喜欢。嗯,我的意思是我们大多数人的shell配置中都应该有一些东西,因为它对于日常使用非常有价值。@ams:真的,你喜欢

-fdump-*
的东西吗?那么GCC的MELT扩展应该会引起您的兴趣@基本上,我喜欢使用-fdump-*调试GCC本身我刚刚发现
-Wshadow
非常有用。不幸的是,
-Wall
甚至
-Wextra
都没有启用它。