原来的循环变量的终值是2000,可是需要多做一段,需要增加到5000,可是编译时就出现下面的错误了:
ld: rel32 out of range in start in start from /usr/lib/crt1.10.5.o
collect2: ld returned 1 exit status
是什么原因呢?
我的程序中与循环变量有关的部分是:
integer,parapemer::nstep=5000  (nstep为循环变量的终值)
real*8 xcm(nattot,nstep),ycm(nattot,nstep),zcm(nattot,nstep)
real*8 msd(nstep)
ntime=0
        msd=0.0d0
        do i=1,nstep-1,10
           do j=i+1,nstep
              m=j-i
              ntime(m)=ntime(m)+1
              do k=1,nwat
                 xdiff = xcm(p(k),j) - xcm(p(k),i)
                 ydiff = ycm(p(k),j) - ycm(p(k),i)
                 zdiff = zcm(p(k),j) - zcm(p(k),i)
                 msd(m) =msd(m)+xdiff*xdiff+ydiff*ydiff+zdiff*zdiff
               enddo
            enddo
          enddo
          do i=1,nstep-1
             msd(i)=msd(i)/(dble(nwat)*dble(ntime(i)))
             write(nout,*) dble(i)*dt,msd(i)
          enddo