<div dir="ltr"><div>Hello, Fortran experts,</div><div>  </div><div>  p.377 of MPI3 defines prototype of MPI_Comm_spawn.</div><div><br></div><div>  MPI_Comm_spawn(command, argv, maxprocs, info, root, comm, intercomm, array_of_errcodes, ierror) <br>
</div>     CHARACTER(LEN=*), INTENT(IN) ::  command, argv(*)<div>     ...</div><div><br></div><div>I can understand that command is a variable-length character. I fetch its length by len(command). The Fortran compiler needs to pass in data of command, as well as length of command.</div>
<div>But I can't understand argv(*). I interpret it as an assumed-size array of variable-length characters. Does that imply each argv(i) could have different lengths, e.g., len(argv(1)) may be different from len(argv(2))?</div>
<div>I think it is unreasonable, since if that, the compiler has to pass in length of every element of argv(*).</div><div><br></div><div>Thank you</div><div><div dir="ltr">--Junchao Zhang</div></div>
</div>