0

在我被分配到的一个项目中,我被要求用 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照原样,代码在in之后被截断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

Make告诉我编译文件的实际命令是

mpif77 -Wall pi.f -o pi

我在这里做错了什么?我该如何进行这项工作?

4

1 回答 1

0

在担心您可能(或可能不会)遇到的任何行继续语法问题之前,我建议您注意编译器的错误消息。 MPI_SEND是一个子程序,不是函数也不是命令,它的使用应该在关键字之前call

于 2013-03-26T18:05:41.513 回答