irix: f90 -64 -O3 -LNO -ipa -Ofast=ip27 -o v12.bin .... 1>>tmp
ifort: ifort -O3 -axP -parallel -o v12.bin ... 1>>tmp (axT for core2)
编译器优化选项也可能带来bug!
比如-O3选项,会做一些内存和变量上的优化,有时可能导致程序出错;自己今天就遭遇这种事,Segmentation fault,使用gdb调试,结果在子函数中无法找到应有的变量:
GDB: No symbol "var" in current context
逐步step时,竟然在子函数里跳来跳去,而不是按源程序逐行推进。
将-O3选项去掉,就一切正常了!
优化选项也可能带来bug
编译器优化选项也可能带来bug!
比如-O3选项,会做一些内存和变量上的优化,有时可能导致程序出错;自己今天就遭遇这种事,Segmentation fault,使用gdb调试,结果在子函数中无法找到应有的变量:
GDB: No symbol "var" in current context
逐步step时,竟然在子函数里跳来跳去,而不是按源程序逐行推进。
将-O3选项去掉,就一切正常了!