我有一个共享库子程序:传递的数组与更多的元素预计在子程序
SUBROUTINE DLLSUBR(ARR)
IMPLICIT NONE
INTEGER, PARAMETER :: N = 2
REAL ARR(0:N)
arr(0) = 0
arr(1) = 1
arr(2) = 2
END
而假设我会叫它从可执行:
REAL ARR(0:3)
CALL DLLSUBR(ARR)
注:该代码在Debug + /check:all选项打开时没有任何警告或错误,编译并运行(DLLSUBR位于模块内部)。
这可能导致内存损坏或一些奇怪的行为?在哪里可以找到有关在Fortran规范中传递具有不同大小的数组的信息?
看到我的编辑更详细的解释。 –