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

>> Fortran语言使用经验交流
搜一搜更多此类问题 
Fortran中文网Fortran中文网—Fortran语言经验交流Fortran语言使用经验交流 → [求助]fortran的程序编译为DLL供其他语言调用

您是本帖的第 3508 个阅读者
树形 打印
标题:
[求助]fortran的程序编译为DLL供其他语言调用
Jefferson
帅哥哟,离线,有人找我吗?
等级:新手上路
文章:2
积分:223
门派:无门无派
注册:2013年3月31日
楼主
 用支付宝给Jefferson付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给Jefferson

发贴心情
[求助]fortran的程序编译为DLL供其他语言调用
 请将以下的程序编译为DLL文件,并用其他(我用的C#)语言调用一下,我自己做了一个,不能正常运行呀,实在不知道问题出在哪了?请哪位大神帮帮忙啊
subroutine A111()
!DEC$ ATTRIBUTES DLLEXPORT::A111
  use IMSL
  implicit none
  external FCN
  real, parameter :: ERRREL = 0.0001
  integer, parameter :: N = 3
  integer, parameter :: ITMAX = 100
  real :: XGUESS(N) = (/ 0.0, 1.0, 2.0 /)
  real X(N), FNORM
  CALL NEQNF (FCN, ERRREL, N, ITMAX, XGUESS, X, FNORM)
  open(unit=11,file='result.txt',status='replace')
  write(11,*) x
  write(*,*) x
  close(11)
  end subroutine
subroutine FCN (XA, F, N)
!DEC$ ATTRIBUTES DLLEXPORT::FCN
  implicit none
  integer N
  real, target :: XA(N)
  real F(N)
  real, pointer :: x,y,z
  ! 在计算时使用x,y,z看起来比较清楚
  x=>XA(1)
  y=>XA(2)
  z=>XA(3)
  F(1) = x*x + y*y + z*z -3
  F(2) = x*y + y*z + x*z -3
  F(3) = exp(x) + exp(y) + exp(z) -3*exp(1.0)
  return
end subroutine
ip地址已设置保密
2013/8/21 8:56:16
Jefferson
帅哥哟,离线,有人找我吗?
等级:新手上路
文章:2
积分:223
门派:无门无派
注册:2013年3月31日
2
 用支付宝给Jefferson付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给Jefferson

发贴心情
问题已经解决了,啊哈哈
ip地址已设置保密
2013/8/21 15:23:52

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