MPI_send中第一个参数msg_buf_p什么时候取&符号用,什么时候不用,比如&s和s
http://tieba.baidu.com/p/3214731415
initial address of send buffer
以上是第一个参数的说明,翻译过来就是: 发送缓冲区的初始地址
当发送整型、字符型变量的值时,需要用取地址运算符&
当发送比如字符串变量,因为变量本身就是地址值,所以不再需要取地址运算符&
举个例子:
string log = "TEST";
int length = log.length();
char* temp = (char *) malloc(length+1);
strcpy(temp, log.c_str());
MPI_Send (&length, 1, MPI_INT, 0, 1, MPI_COMM_WORLD); //注意和下一句的不同
MPI_Send (temp, length+1, MPI_CHAR, 0, 1, MPI_COMM_WORLD);