你最喜欢的g ++选项是什么?

nev*_*int 26 c++ unix compiler-construction gcc g++

我是C++编程的新手.编译时我从不使用任何选项.

这是我的日常命令:

g++ MyCode.cc -o MyCode
Run Code Online (Sandbox Code Playgroud)

对于安全实践,最好的选择是什么?

Lir*_*una 37

g++ -W -Wall -Werror
Run Code Online (Sandbox Code Playgroud)

将显示所有错误和警告,并将其视为错误.

  • 实际上,它不会启用所有可能的警告.-Wwrite-strings和-Wconversion也很好. (8认同)
  • 对OP - 做这张海报的建议吧!如果你只是听编译器警告,你会省去很多麻烦.不要忽视它们! (7认同)
  • 注意:"`-W`"是`-Wextra`的旧名称,因为它"添加"到`-Wall`,我发现排序"`-Wall -Wextra`"更符合逻辑. (7认同)

Bom*_*mbe 19

"-Werror":将所有警告视为错误,因此您必须修复它们.非常有价值.

  • 当然,除了-Wall打开所有有用的警告. (3认同)

小智 18

g++ -g 
Run Code Online (Sandbox Code Playgroud)

我真的需要调试信息....


Dim*_*iuc 17

如果你认为你抓住了一切,试试吧 -Wextra


gre*_*ade 11

g++ -Wall -Weffc++ -Werror -pedantic
Run Code Online (Sandbox Code Playgroud)

但是,当我使用Boost时,我将其放到:

g++ -Wall -Werror
Run Code Online (Sandbox Code Playgroud)

不过,我焦急地等待GCC 4.4和4.5.我真的非常需要一些功能.


Bri*_*eal 8

我们总是使用

g++ -Wall -Wextra ...
Run Code Online (Sandbox Code Playgroud)


Tom*_*Tom 7

-ansi
-pedantic

-D__STDC_FORMAT_MACROS
-D__STDC_CONSTANT_MACROS
-D__STDC_LIMIT_MACROS
-D_GNU_SOURCE
-D_REENTRANT

-Wall
-Wextra
-Wwrite-strings
-Winit-self
-Wcast-align
-Wcast-qual
-Wold-style-cast
-Wpointer-arith
-Wstrict-aliasing
-Wformat=2
-Wuninitialized
-Wmissing-declarations
-Woverloaded-virtual
-Wnon-virtual-dtor
-Wctor-dtor-privacy
-Wno-long-long

-O3
-ftree-vectorize
-ftree-vectorizer-verbose=2
-ffast-math
-fstrict-aliasing
-march=native/pentium4/nocona/core2
-msse2
-mfpmath=sse


dir*_*tly 5

实际上,这是一套: -Wall -pedantic -std=c++98