在我被分配到的项目中,我被要求使用f77编译我的代码,并且我试图掌握如何处理每行限制72个字符。我想写下面的代码:
!use the numbers to check my indentation...
!2345678901234567890
MPI_SEND(slave, 1, MPI_INTEGER, slave, MPI_ANY_TAG, MPI_COMM_WORLD, ierr)
之前的长缩进是因为该行在几个块内,我想解决这个问题,而不必牺牲代码缩进(即可读性)。
原样,代码在MP
MPI_COMM_WORLD
之后被截断,所以我想我只是打破了这一行,并在第6列中添加了一个续行字符。我见过的例子带有+
和整数位数的网作为行继续符,所以我尝试了以下两个版本:
!2345678901234567890
MPI_SEND(slave, 1, MPI_INTEGER, slave, MPI_ANY_TAG,
1 MPI_COMM_WORLD, ierr)
MPI_SEND(slave, 1, MPI_INTEGER, slave, MPI_ANY_TAG,
+ MPI_COMM_WORLD, ierr)
他们两个都在第一行给我一个编译错误,说
MPI_SEND(slave, 1, MPI_INTEGER, slave, MPI_ANY_TAG,
1
Error: Unclassifiable statement at (1)
代码位于名为pi.f
的代码文件中,我正在使用make pi
进行编译,而且我的makefile中只有(仅)以下内容:
FC = mpif77
FFLAGS=-Wall
告诉我编译文件的实际命令是
mpif77 -Wall pi.f -o pi
我在这里做错了什么?我如何使这项工作?
答案 0 :(得分:0)
在担心您可能(或可能没有)的任何行继续语法问题之前,我建议您注意编译器的错误消息。 MPI_SEND
是一个子程序,不是函数也不是命令,它的使用前面应该有关键字call
。