mpi-buffer-deref

此检查验证传递给 MPI(消息传递接口)函数的缓冲区是否被充分解引用。缓冲区应作为单个指针或数组传递。由于 MPI 函数签名为其缓冲区类型指定了 void *,因此未充分解引用的缓冲区可以传递,例如作为双指针或多维数组,而不会发出编译器警告。

示例

// A double pointer is passed to the MPI function.
char *buf;
MPI_Send(&buf, 1, MPI_CHAR, 0, 0, MPI_COMM_WORLD);

// A multidimensional array is passed to the MPI function.
short buf[1][1];
MPI_Send(buf, 1, MPI_SHORT, 0, 0, MPI_COMM_WORLD);

// A pointer to an array is passed to the MPI function.
short *buf[1];
MPI_Send(buf, 1, MPI_SHORT, 0, 0, MPI_COMM_WORLD);