【问题标题】:forrt1: severe (170): Program Exception - stack overflowforrt1:严重(170):程序异常 - 堆栈溢出
【发布时间】:2015-01-30 20:47:05
【问题描述】:

提前感谢您的帮助!

我已经编译了一个程序(不是我编写的),它在 Mac 上运行良好,但是当我尝试在 Windows 上执行该程序时,我在程序开始执行后不久收到以下错误消息:

forrt1:严重 (170):程序异常 - 堆栈溢出

我不是 ifort 或 Fortran 用户,但正在尝试编译一个工作程序。

我做了一个“ifort --version”,我正在使用带有版本 12.0.0.104 的 Intel Visual Fortran Compiler XE。我已经在这个问题上工作了几天,我尝试在 Makefile 中弄乱一些标志,但没有运气。

如果我能提供任何进一步的信息,我会尽力做到最好。再次感谢!

【问题讨论】:

  • 我们无法在没有看到代码的情况下回答您的问题。我猜windows编译器的默认堆栈大小小于其他平台。可能有非常大的堆栈变量。有非常大的堆栈变量。

标签: windows fortran stack-overflow intel intel-fortran


【解决方案1】:

尝试在编译过程中添加以下标志以打印出更多信息:

/traceback /check:all

check 将进行运行时错误检查,traceback 将告诉编译器在运行时发生严重错误时生成额外信息。

【讨论】:

    【解决方案2】:

    当您编译程序时,请尝试使用 /heap-arrays 选项让编译器将数组放置在堆上而不是堆栈上。否则,请尝试使可执行文件可用的堆栈更大。

    【讨论】:

    • 另外,使用 /heap-arrays:0 确保一切都在堆上。
    猜你喜欢
    • 2010-11-27
    • 1970-01-01
    • 2020-11-14
    • 1970-01-01
    • 2021-04-07
    • 2016-02-19
    • 2012-05-28
    相关资源
    最近更新 更多