如何在 Windows 上定义 GFortran 堆栈大小?

问题描述 投票:0回答:0

我正在使用具有大尺寸和维度的数组。 我在 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:分段错误 - 内存引用无效。”

  • 我检查了任务管理器上的专用 RAM,所以我知道我输入的数字在限制之内。我已经为 setx 尝试了不同的数字只是为了检查,但没有任何效果。
  • 我正在使用 Windows 10 64 位。我试过不同的 Linux 发行版,同样的问题。
  • 我正在使用 Fortran 77、GFortran、MinGW 和 Windows PowerShell。

提前谢谢你。

我希望找到一种简单的方法来运行具有更大数组的代码。

windows fortran mingw gfortran stack-memory
© www.soinside.com 2019 - 2024. All rights reserved.