我正在使用具有大尺寸和维度的数组。 我在 Windows 上使用 GFortran,我使用的命令很简单
gfortran input.for -o output
。
无论我使用哪个系统有多少 RAM,代码只能在相同的数字范围(数组大小、网格等)下完美运行,所以我想也许 Fortran 被限制在一定数量的 RAM 上,这似乎是不可能的我想找到为什么有人会对语言施加这样的限制的原因。
我在 Windows PowerShell 中键入 setx fortran_stack_size 5000000
以分配 5GB RAM,重新启动 Windows PowerShell,甚至重新启动我的计算机,以便 GFortran 可以运行更大数字的代码,但没有任何改变。也许它一直在发生,因为我仍然在输入gfortran input.for -o output
。如果有更好的方法来定义其上的堆栈数量,我想知道如何编写这一行。代码中也没有错误,只有 “程序接收到信号 SIGSEGV:分段错误 - 内存引用无效。”
提前谢谢你。
我希望找到一种简单的方法来运行具有更大数组的代码。