如何查看gcc -g 与 -O的差别
前段时间遇到个奇怪的问题,在编译SO库时,使用-g编译,调用一点问题没有,但是一旦使用-O编译,程序就会CORE。
我知道有个-i的选项,是否使用gcc -g -i....与gcc -O3 -i...得到优化后的代码进行再进行比对?我看过优化后的代码,说实话,不太容易懂。
有没有更好的办法能知道优化后的代码有什么区别?或者帮忙提供下优化后代码的阅读方法,或者还需要哪些知识储备才能读明白优化后的代码。。。
望各位朋友解答。谢过!
GCC版本记不清了。。。
(另:其实我最希望的是编译器的BUG。。哈哈。。那就跟我没什么关系了。。)