有很多FORTRAN 77編寫的代碼。我想用c#開始使用該代碼開發。我該怎麼辦?從C調用fortran代碼#
- 導入FORTRAN的DLL到託管代碼
- 轉換代碼
對於每一個選項,你能告訴我該怎麼做。第一個是否有任何性能問題?
謝謝。
有很多FORTRAN 77編寫的代碼。我想用c#開始使用該代碼開發。我該怎麼辦?從C調用fortran代碼#
對於每一個選項,你能告訴我該怎麼做。第一個是否有任何性能問題?
謝謝。
見http://msdn.microsoft.com/en-us/library/26thfadc.aspx。我會選擇1.在大多數情況下,假設您使用Fortran進行數字運算,它將會減少工作量併產生更好的性能。
如果您有很多非託管代碼,而您沒有時間遷移,則選項1很不錯。如果你走這條路線,確保儘可能少地調用非託管方法,即使這些調用涉及發送更大的參數/結果,因爲託管/非託管世界之間的編組可能會損害性能。
選項2沒問題,您最終會將所有內容都轉換爲託管代碼。假設這段代碼編寫得當,它的執行速度至少與非託管代碼一樣快。
有商業的Fortran .NET編譯
我與Achim同在。例如,AMD正在開發並支持用FORTRAN 90編寫的linear algebra toolkit,並提供C風格的界面。隨着FORTRAN 77 YMMV
哇,這可能是有用的,我在哪裏可以找到它? – 2011-06-08 22:26:48
http://www.lahey.com/lf71/lf71.htm我懷疑$$$雖然 – pm100 2011-06-08 22:56:50