我正在尝试编译一大堆用于解决物理问题的代码。我通常使用gfortran
。没有编译时错误。我的gfortran
编译器语句是
gfortran -fdefault-real-8 -O -Waliasing -Wampersand -Wconversion -Wsurprising -Wintrinsics-std -Wintrinsic-shadow -Wline-truncation -Wreal-q-constant
执行时,出现运行时错误
Program received signal SIGBUS: Access to an undefined portion of a memory object.
但是,当我使用调试标志-g
或Intel编译器ifort
进行编译时,不会发生此运行时错误。
即使gfortran
不带-g
标志,有时也不会发生此错误!我知道这可能是由于某些未定义的数组或未分配的数组或类似的东西引起的。我的问题是,似乎没有问题,因为我显然没有编译时错误。
那么,gfortran
或ifort
的编译器标志可以帮助我检测到此错误吗?
谢谢
Madhurjya