我有一個共享庫子程序:傳遞的數組與更多的元素預計在子程序
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規範中傳遞具有不同大小的數組的信息?
看到我的編輯更詳細的解釋。 –