本文主要是介绍gcc: O2编译选项 可以掩盖的一种coredump情况,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
有些代码,如果选择O2选项的话,GCC会认为代码无用,或者根本不会产生任何数据上的变更,没有意义。
有时候会决定将其删除。比如:析构函数里的对对象成员的赋值,因为对象都要被析构了,赋值没有意义,就会将赋值语句从实际的二进制文件里去掉。
这个时候,如果赋值语句如果有问题,就会被O2选项给掩盖掉。
而不带-O2选项的编译结果,可能会出现一种coredump。
这篇关于gcc: O2编译选项 可以掩盖的一种coredump情况的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!