在调试程序时候,遇到奇怪的问题:gcc编译程序后执行正常,但是g++编译后执行段错误,报Segmentation fault (core dumped)。
纠结了很久,一直定位报错就是指针操作异常导致的,看了很久代码也没有找到具体的问题。
最后重新从接口看代码,看到一个变量在使用的时候没有初始化,终于找到了问题。
问题是由于该变量没有init为0,但是gcc编译后该变量的值默认为0,但是g++编译后的值就是一个很大的值,导致程序内部判定走了异常分支。
在调试程序时候,遇到奇怪的问题:gcc编译程序后执行正常,但是g++编译后执行段错误,报Segmentation fault (core dumped)。
纠结了很久,一直定位报错就是指针操作异常导致的,看了很久代码也没有找到具体的问题。
最后重新从接口看代码,看到一个变量在使用的时候没有初始化,终于找到了问题。
问题是由于该变量没有init为0,但是gcc编译后该变量的值默认为0,但是g++编译后的值就是一个很大的值,导致程序内部判定走了异常分支。