64位WIN7上Inter Visual Fortran生成的DLL文件供VB调用的问题!急求!

我是64位WIN7上装了InterVisualFortran,新建的DLL项目,在f90文件下输入代码,生成的DLL文件是32位还是64位?能被VB调用吗?一个超级简单的... 我是64位WIN7上装了Inter Visual Fortran,新建的DLL项目,在f90文件下输入代码,生成的DLL文件是32位还是64位?能被VB调用吗?

一个超级简单的FORTRAN代码(64位机子 IVF环境)如下:

subroutine test(a,b,c)

!dec$ attributes dllexport :: test
!dec$ attributes alias: "test" :: test

!dec$ attributes reference :: a,b,c
real(4) a,b,c
c=a+b
return
end subroutine
生成DLL文件在DEBUG目录下

用VB调用时声明:
Public Declare Sub test Lib
"F:YU/TEST/debug/test.dll" (ByRef a As Single, ByRef b As
Single, ByRef c As Single)
调用时提示调用DLL约定错误

自己在网上查了一下发现VB调用IVF64位DLL都有这个问题。求问这是DLL位数问题吗?是不是换到32位机子就能解决?还是所有IVF生成的DLL都不能给VB调用?必须用CVF才行?

做毕设时遇到了这个问题!求助了解情况的大神们解答!谢谢大家了!
展开
 我来答
天河流纹石
2014-04-26 · TA获得超过1.3万个赞
知道大有可为答主
回答量:7624
采纳率:76%
帮助的人:4049万
展开全部
  1. 你编译后的DLL是32位,还是64位,与你的win7位数无关。而与你的IVF的位数有关。

  2. 你可以安装32位的IVF,也可以安装64位的IVF。甚至可以都安装,在设置中选择使用哪个。

  3. 如果你的DLL是64位的,则不能被32位的VB调用。

  4. IVF出来的DLL是可以被VB使用的,不是必须用CVF才行。

更多追问追答
追问
你好 请问我怎么才能知道我安装的IVF的位数呢 不是在官网上下载的 下载的网站上也没有标注
追答
在开始菜单里面找 Intel Fortran,展开若干个文件夹,里面就有写。

IA-32 ,EM64 等,自己就能看见。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式