Re: [問題] 關於用Fortran建立DLL檔

看板Programming作者時間17年前 (2008/05/02 12:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
? 如果你常發在 ptt 問 fortran ,建議你去站務區要求開個 fortran 新版,設轉信。 tw.bbs.comp.lang.fortran 是 fortran 連線轉信用的。 你寫的網址裡面有說是給 Windows 用的啊~ 比如說 A1 Stdcall and DLL tools of MSVC and MinGW MSVC 是 Microsoft Visual C 的縮寫。 比如說 A2 .... Dlls are commonly used on MS Windows. ... 這句雖然太過狹隘,不過也表明你看的 QA 是 for Windows 的。 你提供的 QA 網頁我沒仔細看,看起來像是將 fortran 轉 c 再轉 dll ,後面只會比用 Visual Fortran 更複雜。 DLL 並非是 Fortran 95 或是 200x 的標準,所以編譯成 DLL 所需的命令及語法皆有差異。 Visual Fortran 歷經多個公司的不同版本,請詳查線上手冊來輸入關鍵字。 比如說前編譯詞:!DEC$ 是 Digital Visual Fortran 用的,在舊版 PowerStation 的是 !MS$。 後來新的 Compaq Visual Fortran / Intel Visual Fortran 我印象中是相容,不過有點忘了,我最近三年都沒碰 Fortran 了。 我在 1999 年有整理過一篇: http://tlcheng.twbbs.org/Paper/paddy99/Paddy99.htm 在整理成上一篇之前整理的零散主題: http://tlcheng.twbbs.org/TLCheng/Fortran/ 另外,你 VB 版本也該分清楚,比如說: Declare Auto Auto 是在 VBNET 版本才加入的關鍵詞,針對字串引數自動選擇 A 或 W 字尾的函數。 VB6 以前沒有,此外那是針對 Windows API 的,Visual Fortran 不支援 Wide Char ,所以你寫的函數只會是 ANSI ,你也不會去分別兩個函數,所以根本就不該用 Auto ,而 VBNET 基本上建議 DLL 引用改使用新的 DLLImport 語法,而不是使用 VB6 的語法。 至於找不到進入點,一般都是使用:Dependency Walker 來除錯,這個工具在 VC6 / CVF6 預設都會裝,VB6 預設不裝,要從安裝光碟找,VBNET 預設會裝,但不建立捷徑。 假設你用 VB2005 ,預設會裝在下面那個路徑,自己建個捷徑即可。 C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin\Depends.Exe 用 Dependency Walker 開啟你製造的 DLL ,看看 Export 那個視窗分割有沒有你打的函數名,要一模一樣,不能有 @xx 出現。 ==> 本文由 "啊哈哈~~ <Cypresslin.bbs@ptt.cc>" > 於 news:4Zfglg%249Hc%40ptt.cc 發表 > 請問一下 > Fortran的F77/G77或是F90/G95能夠建立給Windows用的DLL檔嗎? > 目前所知是Visual Fortran可以 > 不過平常用的機器沒有裝... > 在G95的網站上面看到的製作DLL方法 > http://www.g95.org/g95_dll.html > 這個Compile的指令好像只能給Linux的機器用? > 在我的XP上面建立的DLL用VB去呼叫都會說找不到進入點....囧 > VB的宣告中我有設定Alias > Declare Auto Sub DLLTest Lib "D:\g95\bin\VBTest\DLLTest.dll" Alias "DLLTest" > (ByRef a As Single, ByRef b As Single, ByRef c As Single) > Fortran檔案裡面的宣告是這樣 > !DEC$ ATTRIBUTES DLLEXPORT, ALIAS:'DLLTest'::DLLTest > 有漏掉什麼嗎? > 謝謝 > -- 風禹科技驗證有限公司 ASP.NET Web News Reader 0.2.7 UTF-8 Beta 網站地圖 http://tlcheng.twbbs.org/wwwmap.htm 流域防洪/區域水資源/徐昇網/玫瑰圖/語音通訊 文章與程式 Basic/Fortran/Windows API/.Net/輔助說明檔 原始碼、文章與討論 微軟程式設計、系統管理使用新技術論壇討論區,網友回覆後即時簡訊、電子郵件通知: MSDN: http://forums.microsoft.com/msdn-cht/default.aspx?siteid=14 TechNet: http://forums.microsoft.com/technet-cht/default.aspx?siteid=23 -- ASPNET News Reader http://tlcheng.twbbs.org/News/Reader.aspx RSS 2.0 http://tlcheng.twbbs.org/News/rss2.aspx?Action=List&Newsgroup=tw.bbs.comp.language
文章代碼(AID): #186f7-00 (Programming)
文章代碼(AID): #186f7-00 (Programming)