用Fortran编写的项目在不同的机器上运行很好,但是当被带到其他一些Linux机器时却没有。它对其中一个说segmentation fault
,另一个说segmentation fault (core dumped)
。我做了gdb
我的程序,非常令人惊讶的是它将segfault指向程序的第一行,它应该打印模块中保存的变量的值。
我正按以下方式编译所有这些:
gfortran -mcmodel=large -fPIC -fopenmp -lgfortran ...
你知道为什么会这样吗?在Ubuntu 12.10上,gfortran版本是4.7.2。
答案 0 :(得分:1)
也许你需要增加这些机器上的堆栈大小。 Stackoverflow上有关于此主题的答案。检查ulimit。