我刚刚将 .f 更改为 .f90 并在我的 Mac(OSX 10.7)上使用 gfortran 编译,发现它在以下行编译失败:
PartPos(1:3,1+nstart:nstart+npart(1))= pos(1:3, 1 + npart(0)):sum(npart(0:1)))
进一步分配和定义:
real*4,allocatable :: PartPos(:,:)
...
allocate(PartPos(1:3, 1:Ntot))
所以它应该运行良好。当我注释掉第一行时,代码编译得很好。我的理解是,两者之间的唯一区别是格式(这可能会影响我)。有人可以告诉我我错过了什么。抱歉,我是 Fortran 的新手,在我来这里之前一直在寻找解决方案。提前致谢。
我的(有点没用的)错误输出:
PartPos(1:3,1+nstart:nstart+npart(1))= pos(1:3, 1 + npart(0)):sum(npart(0
1
Error: Unclassifiable statement at (1)
编译使用:
>> gfortran program_test.f90 -o program_test