1
我寫在Fortran語言的自定義回調函數的一個軟件(例如here),其中包括以下參數聲明[REFERENCE]標籤在參數聲明中做了什麼?
SUBROUTINE CONTACT_FORCE(TIME,UPAR,NPAR,PEN,RVEL,JFLAG,IFLAG,RESULT)
!DEC$ ATTRIBUTES DLLEXPORT,C::CONTACT_FORCE
...
DOUBLE PRECISION RESULT[REFERENCE](6) !Compiles ok
哪個編譯罰款與Compaq Fortran的視覺6.所以我的問題是什麼是[REFERENCE]
標籤呢?我認爲Fortran passes everything by reference(而不是價值)。當然編譯器沒有任何幫助,而且在線搜索很困難,因爲在Fortran方面使用的單詞引用非常多,我不知道如何縮小它的範圍。
編輯以上必須是相同的
SUBROUTINE CONTACT_FORCE(TIME,UPAR,NPAR,PEN,RVEL,JFLAG,IFLAG,RESULT)
!DEC$ ATTRIBUTES DLLEXPORT,C::CONTACT_FORCE
!DEC$ ATTRIBUTES REFERENCE::RESULT
...
DOUBLE PRECISION RESULT(6) !Compiles ok
因此,這是一樣的添加聲明'DEC $屬性參考手冊:: RESULT'而不是!? – ja72