【问题标题】:How can I differentiate "stack" memory from dynamic memory in Fortran?如何区分 Fortran 中的“堆栈”内存和动态内存?
【发布时间】:2011-06-20 11:39:06
【问题描述】:

假设我有一个例程 foo(),它调用了一个例程 bar(argument)Argument 可以是“在堆栈上”的声明(与 C 平行),也可以是动态分配的。怎么查询bar()里面argument内存是用第一种还是第二种分配的?

【问题讨论】:

  • 在 C 中它可以同时在堆栈或堆上。
  • 这纯粹是一个好奇的问题,还是你想解决一个特定的问题?
  • @Rook 你不知道更好......

标签: fortran fortran90


【解决方案1】:

最好的办法是查看汇编代码。数组通常位于堆上,而本地标量位于堆栈上,但没有标准的 fortran 查询函数,您的代码不应依赖这些细节。

【讨论】:

    猜你喜欢
    • 2019-05-17
    • 2012-11-02
    • 1970-01-01
    • 1970-01-01
    • 2010-12-11
    • 1970-01-01
    • 2011-12-01
    • 2012-09-06
    • 2011-10-09
    相关资源
    最近更新 更多