dvbbs
收藏本页
联系我们
论坛帮助
dvbbs

>> Fortran语言使用经验交流
搜一搜相关精彩主题 
Fortran中文网Fortran中文网—Fortran语言经验交流Fortran语言使用经验交流 → c++调用fortran的dll问题

您是本帖的第 3186 个阅读者
树形 打印
标题:
c++调用fortran的dll问题
jinxinmingti
帅哥哟,离线,有人找我吗?
等级:新手上路
文章:1
积分:232
门派:无门无派
注册:2009年8月1日
楼主
 用支付宝给jinxinmingti付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给jinxinmingti

发贴心情
c++调用fortran的dll问题
调用fortran编的dll出现以下错误:
hehe.exe 中的 0x00000000 处未处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突
这个怎么解决呀!
下面是fortran的源码:(就是简单的显示a的值)
subroutine sub(a)
  ! Expose subroutine sub to users of this DLL
  !
  !MS$ ATTRIBUTES DLLEXPORT::sub
  
  ! Variables
  implicit none
  integer::a
  write(*,*) a
  return
  ! Body of sub
end subroutine sub
下面是我用vs2008调用:
#include "stdafx.h"
#include  
#include  
void main()
{
int a =10;
HINSTANCE myInstance;
myInstance =LoadLibrary(_T("sub.dll"));
if (myInstance ==NULL)
{
return;
}
typedef void(_stdcall*sub)(int *a);
sub myfft;
myfft =(sub)GetProcAddress(myInstance,"myfft");
myfft(&a);
FreeLibrary(myInstance);
}
编译可以通过,但在运行中就会出现上述问题(0x00000000 处未处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突)
请大家帮帮忙啊
ip地址已设置保密
2009/8/1 22:37:32
freshmanzkj
帅哥哟,离线,有人找我吗?
等级:新手上路
文章:2
积分:242
门派:无门无派
注册:2006年3月12日
2
 用支付宝给freshmanzkj付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给freshmanzkj

发贴心情
现在我也要学这个,不过我也不太懂,帮你顶一下
ip地址已设置保密
2009/8/3 12:09:37

 2   2   1/1页      1    
网上贸易 创造奇迹! 阿里巴巴 Alibaba
Powered By Dvbbs Version 7.1.0 Sp1
Copyright ©2005 - 2008 www.fortran.cn
页面执行时间 0.04688 秒, 3 次数据查询
京ICP备05056801号