gpt4 book ai didi

arrays - 显式形状数组 reshape 的警告

转载 作者:行者123 更新时间:2023-12-02 01:09:24 24 4
gpt4 key购买 nike

让所有例程都位于模块内部。

  1. 如果我将数组 real*8 aa(5,3) 传递给例程

    subroutine sub(bb)
    real*8, intent(in) :: bb(2,5)
    ...
    end subroutine

    使用语句call sub(aa),这将在没有警告的情况下进行编译,并且aa的前2将填充bb 数组。数组 aabb 的元素对齐方式非常不同。

  2. 如果改为编写例程

    subroutine sub(bb)
    real*8, intent(in) :: bb(:,:)
    ...
    end subroutine

    那么 bb 将具有与 aa 相同的形状和存储顺序。

问:如果忘记例程中存在显式大小声明,第一种行为将非常危险。当显式形状数组更改形状/对齐方式时,我可以让编译器发出警告吗?

最佳答案

我不知道编译器选项会对此发出警告,因为使用存储关联是完全合法的做法 - 我们对这个概念有几个问题和答案。它可能非常有用。

关于arrays - 显式形状数组 reshape 的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56354755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com