我對Fortran有點新,但我開始收集很多功能和子程序,我反覆使用模塊。我一直在嘗試構建自己的庫,以便可以從我編寫的新源代碼中調用其中的一些函數和子例程。到目前爲止,我已經能夠獲得子程序的工作,但不是功能。我只是不知道如何從代碼中調用函數。Fortran,靜態庫創建和簡化(新手在這裏)
下面是一個例子。以下函數接受一個整數並返回標識矩陣。
module test
contains
function IDENTITY(rows) !RETURNS THE IDENTITY MATRIX
real, dimension(rows,rows) :: IDENTITY
integer, intent(in) :: rows
integer :: i, j
!f2py intent(in) rows
!f2py intent(out) IDENTITY
!f2py depend(rows) IDENTITY
IDENTITY = ZEROS(rows,rows)
do i = 1, rows
do j = 1, rows
if (i == j) then
IDENTITY(i,j) = 1
endif
enddo
enddo
end function IDENTITY
end module
現在我這個編譯成目標文件然後將其歸檔到庫中。然後我寫了一個我想使用這個函數的小程序 - 這是我想避免的問題。我想我必須在我的源代碼中放入\ use \語句,以便它將使用該模塊。然後,我必須在編譯時包含.mod的路徑。但最終,我將會有一整段充滿使用情況的陳述。我想避免做所有這些事情,只是把所有事情做得漂亮整潔。有沒有辦法?任何幫助將是巨大的,
謝謝