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

>> Fortran语言使用经验交流
搜一搜更多此类问题 
Fortran中文网Fortran中文网—Fortran语言经验交流Fortran语言使用经验交流 → [求助],帮忙解决编译中出现的错误吧,谢谢!

您是本帖的第 6828 个阅读者
树形 打印
标题:
[求助],帮忙解决编译中出现的错误吧,谢谢!
baling
美女呀,离线,留言给我吧!
等级:论坛游民
文章:15
积分:270
门派:无门无派
注册:2006年6月25日
11
 用支付宝给baling付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给baling

发贴心情

当CALL FREE(LINE(160))出现error LNK2001: unresolved external symbol _LINE@4

      SUBROUTINE FREE
      IMPLICIT INTEGER*4(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
      CHARACTER *1 LINE,SP,BS,C
      COMMON /CLINE/LINE(160)
      COMMON /ILINE/II
      COMMON /IOLIST/NTM,NTR,NIN,NOT,NSP,NFL,NT7,NT8
      DATA SP/' '/, C/'C'/, BS/' '/
      DO 40 I=1,160
40    LINE(I)=SP
C
45    I=1
      II=80
50    IF(NIN.EQ.NTR) GOTO 60
      IF(NTM.NE.3) GOTO 60
      READ(NIN,1001,ERR=100,END=100) (LINE(K),K=I,II)
      GOTO 70
60    READ(NIN,1000,ERR=100,END=100) (LINE(K),K=I,II)
70    DO 80 K=I,II
      IF(LINE(K).NE.BS) GOTO 80
      I=K
      II=K+79
      IF(II.GT.160) II=160
      GOTO 50
80    CONTINUE
C    
      CALL UPPER
      IF(NTR.EQ.NIN) GOTO 900
      IF(LINE(1).NE.C) GOTO 900
      WRITE(NTM,2000) (LINE(I),I=1,II)
      GOTO 45
100   WRITE(NTM,2001)
      WRITE(NOT,2001)
      CALL FREEPT
C
900   RETURN

1000  FORMAT(80A1)
1001  FORMAT(1X,80A1)
2000  FORMAT(1X,80A1)
2001  FORMAT(/,' * END OF FILE OR ERROR IN READING  INPUT LINE *',/)
      END

这样该怎么修改呢?

ip地址已设置保密
2006/7/8 10:51:08
lm_lxt
帅哥哟,离线,有人找我吗?
等级:版主
文章:480
积分:3912
门派:无门无派
注册:2006年4月21日
12
 用支付宝给lm_lxt付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给lm_lxt

发贴心情
看这一行:READ(NIN,1001,ERR=100,END=100) (LINE(K),K=I,II)可能是LINE(K)中有一个括弧错了

http://lmlxt.spaces.live.com/
ip地址已设置保密
2006/7/8 11:39:32
baling
美女呀,离线,留言给我吧!
等级:论坛游民
文章:15
积分:270
门派:无门无派
注册:2006年6月25日
13
 用支付宝给baling付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给baling

发贴心情
我改了一下,还是在link时,出现错误提示:error LNK2001: unresolved external symbol _LINE@4。在主程序中调用free时,我把call free改成了call free(line(160))出现了上述提示,可是不加的话,在编译时就会出现错误提示说:error FOR2334: too few arguments in reference to intrinsic  procedure FREE,现在我想不到怎么改这个语句了
ip地址已设置保密
2006/7/9 15:41:11
lm_lxt
帅哥哟,离线,有人找我吗?
等级:版主
文章:480
积分:3912
门派:无门无派
注册:2006年4月21日
14
 用支付宝给lm_lxt付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给lm_lxt

发贴心情

首先肯定的是调用形式为CALL FREE!因为只要调用这个程序,它自己会读取一行内的数据信息,不存在参数传递。

看了你的子程序,觉得有个问题,即:

   因为有CALL UPPER这一句,需要处理“:”,所以把

      CHARACTER *1 LINE,SP,BS,C
      COMMON /CLINE/LINE(160)
      COMMON /ILINE/II
      COMMON /IOLIST/NTM,NTR,NIN,NOT,NSP,NFL,NT7,NT8
      DATA SP/' '/, C/'C'/, BS/' '/

      改成:

       CHARACTER *1 LINE,SP,BS,C,SC
      COMMON /CLINE/LINE(160)
      COMMON /ILINE/II
      COMMON /IOLIST/NTM,NTR,NIN,NOT,NSP,NFL,NT7,NT8
      DATA SP/' '/, C/'C'/, BS/' '/,SC/':'/




http://lmlxt.spaces.live.com/
ip地址已设置保密
2006/7/9 16:18:04
lm_lxt
帅哥哟,离线,有人找我吗?
等级:版主
文章:480
积分:3912
门派:无门无派
注册:2006年4月21日
15
 用支付宝给lm_lxt付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给lm_lxt

发贴心情
要不将CALL UPPER删掉也应该能解决这个问题,这是个人觉得,你还是仔细检查一下吧。

http://lmlxt.spaces.live.com/
ip地址已设置保密
2006/7/9 16:27:59

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