我有一些代码非常奇怪。很奇怪的人指责我的输出并没有真正发生(我希望,这会让我的生活更轻松)。代码在windows(ms vc ++,gcc)中工作正常但在linux(gcc,clang)上失败。
我目前使用g++ -g -std=c++0x -Wall -c file.cpp
编译是否有更安全的东西?哦,这个段错(在linux上)甚至没有任何警告...
答案 0 :(得分:3)
Seg fault表示运行时错误,例如堆损坏。无论您使用哪种编译选项,它都无法帮助捕获所有可能的运行时错误和问题。
即。 任何一组gcc选项都没有 catch-all-errors 选项。
您可以使用静态分析器,valgrind等工具,也可以检查出现段错误的代码。