1

我有一些代码表现得很奇怪。奇怪的人指责我的输出并没有真正发生(我希望这会让我的生活更轻松)。该代码在 Windows(ms vc++,gcc)中运行良好,但在 linux(gcc,clang)上失败。

我目前编译g++ -g -std=c++0x -Wall -c file.cpp有什么比这更安全的吗?哦,这个段错误(在linux上)即使没有任何警告......

4

1 回答 1

3

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

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

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

于 2012-11-10T01:05:19.510 回答