在fortran中,我可以将字符串声明为:
character*80 mystring
然后将其发送为:
call MPI_Send(mystring,len(mystring),MPI_CHARACTER,...,ierr)
或者,我可以将我的字符串声明为一个字符数组(更符合传统上用C语言完成的方式)
character mystring(80)
然后将其发送为:
call MPI_Send(mystring,80,MPI_CHARACTER,...,ierr)
我的理解是这两个调用在调用C函数时会有不同的接口。 (前者通常由编译器通过传递附加参数的值来实现,该值保存字符串的长度,而后者不传递该参数)。那么,MPI实现(通常用C语言编写)如何知道差异?
答案 0 :(得分:1)