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

>> Fortran语言使用经验交流
搜一搜更多此类问题 
Fortran中文网Fortran中文网—Fortran语言经验交流Fortran语言使用经验交流 → dll调用问题

您是本帖的第 2573 个阅读者
树形 打印
标题:
dll调用问题
微微
美女呀,离线,留言给我吧!
等级:新手上路
文章:3
积分:274
门派:无门无派
注册:2008年5月12日
楼主
 用支付宝给微微付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给微微

发贴心情
dll调用问题
主程序最开始定义了通道,例如
      IURUN=1                 ! run_data
      IUGRD=3                 ! model_grid (opened & closed in setdom.f)
      IUTAS=5                 ! init_tands (opened & closed in tands.f)
      IUUAV=7                 ! synop_wind (opened & closed in bcdata.f)
      IURRS=9                 ! restart (opened & closed in ecom3d.f)
调试时,在到达call sub1之前设置断点-go-将光标移到相应通道变量字符上(如上面的IURUN),显示正确(IURUN=1;IUGRD=3等);
但是点step info(F11)按钮,深入到子程序内部运行,这时再将光标移到相应通道变量字符上,就错了,全部通道变量都显示=0(如IURUN=0);
注:我是把子程序生成了dll加载运行的,下面是子程序中的一段代码,
      OPEN(IUGRD,FILE='model_grid',status='old')
      WRITE(IUPRT,51)            
51   FORMAT(/'...... MODEL STARTING UP FROM INITAL CONDITIONS .......')
      READ(IUGRD,11) (COM(I),I=1,80)
  我的model_grid文件是已有文件。深入函数运行到open时正常--再往下到write,就不对了,程序重新生成一个model_grid,将已有文件覆盖掉,并写入了51的内容;再往下read就出错,没法读了
   --------------------------这是什么问题呢?
是不是fortran调用dll时,main程序还必须写一个interface接口?那个dllimport指令必须写吗?写在哪里?
ip地址已设置保密
2008/9/23 8:18:23

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