我只是用Fortran的開始,我有一個程序和功能如何在fortran中調用bind-C函數?
PROGRAM multiplication
implicit none
real :: A1
!A1 = mult(2, 3)
!write(*,1) A1
1 format(f8.8)
END PROGRAM multiplication
REAL FUNCTION mult(a, b) BIND(C, name='foomult')
real,value :: a,b
mult = a * b
END FUNCTION
我已經得到了功能通過JNA在java中工作,但是當我嘗試從FORTRAN中調用MULT主程序,我得到了大量的編譯錯誤(如果你願意,我可以提供它們)。我有一種感覺,它一定是明顯的,但我無法在任何地方找到解決方案。綁定函數不打算從非外部代碼中調用?或者我只是對函數語法有一個很差的理解?
另請參見http://stackoverflow.com/q/21123278/3157076 – francescalus
使用帶有標籤格式語句的Fortran 2003有點奇怪。 –