Optimization 如果启用C优化-O2或-fstrict溢出(-O1可以),我的C程序将崩溃

Optimization 如果启用C优化-O2或-fstrict溢出(-O1可以),我的C程序将崩溃,optimization,gcc,crash,segmentation-fault,Optimization,Gcc,Crash,Segmentation Fault,我有一个(嘿,我在这里作弊,它生成的C代码)每当我用gcc-O2优化标志编译它时就会崩溃(分段错误)。(通用条款4.6.0) 你知道我如何调试这个吗 我想我可以通过一个接一个的删除来测试,看看是哪一个导致我的程序崩溃。。。但这可能需要很长时间。你有更好的主意吗 导致问题的优化是-fstrict溢出。我会继续把新的信息,因为我有他们 谢谢最近有一些关于该标志的编译器问题的报告(例如)-值得使用最新的GCC(或其他编译器,如果可能的话)进行编译,看看这是否解决了问题。如果有帮助,还可以在调试器下使用

我有一个(嘿,我在这里作弊,它生成的C代码)每当我用gcc
-O2
优化标志编译它时就会崩溃(分段错误)。(通用条款4.6.0)

你知道我如何调试这个吗

我想我可以通过一个接一个的删除来测试,看看是哪一个导致我的程序崩溃。。。但这可能需要很长时间。你有更好的主意吗

导致问题的优化是-fstrict溢出。我会继续把新的信息,因为我有他们


谢谢

最近有一些关于该标志的编译器问题的报告(例如)-值得使用最新的GCC(或其他编译器,如果可能的话)进行编译,看看这是否解决了问题。如果有帮助,还可以在调试器下使用调试符号运行,并查看它在何处崩溃。如果周围的代码显然是防弹的,那么这就是怀疑编译器的更多理由,否则你就有地方开始调查了。

最近有一些关于编译器问题的报告使用了该标志(例如)-值得使用最新的GCC(或其他编译器,如果可能的话)看看这能否解决问题。如果有帮助,还可以在调试器下使用调试符号运行,并查看它在何处崩溃。如果周围的代码显然是防弹的,那么这就是怀疑编译器的更多理由,否则你就有地方开始调查了。

代码中有很多双下划线-gcc同意吗?奥姆,这是一个247000行的程序,你要我们调查。我建议你试着把它减少到,比如说,10或20行,然后就有可能看出这是编译器的问题还是程序被破坏了。代码中有很多双下划线-gcc同意吗?奥姆,这是一个247000行的程序,你要我们调查。我建议你试着把它减少到,比如说,10行或20行,然后就有可能看出这是编译器的问题还是程序坏了。