没有优化编译?尽可能安全吗?

时间:2012-11-10 00:57:38

标签: gcc compiler-optimization compiler-flags

我有一些代码非常奇怪。很奇怪的人指责我的输出并没有真正发生(我希望,这会让我的生活更轻松)。代码在windows(ms vc ++,gcc)中工作正常但在linux(gcc,clang)上失败。

我目前使用g++ -g -std=c++0x -Wall -c file.cpp编译是否有更安全的东西?哦,这个段错(在linux上)甚至没有任何警告...

1 个答案:

答案 0 :(得分:3)

Seg fault表示运行时错误,例如堆损坏。无论您使用哪种编译选项,它都无法帮助捕获所有可能的运行时错误和问题。

即。 任何一组gcc选项都没有 catch-all-errors 选项。

您可以使用静态分析器,valgrind等工具,也可以检查出现段错误的代码。