看板Programming
标 题Re: [问题] 关於用Fortran建立DLL档
发信站=?big5?B?SElTRFQgrbes6qzsp97F58PSprOtraS9pX (Fri May 2 19:33:04 2008)
转信站ptt!ctu-reader!ctu-gate!news.nctu!newsfeed.berkeley.edu!ucberkeley!new
?
如果你常发在 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 出现。
==> 本文由 "啊哈哈~~ <[email protected]>"
> 於 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