我正在尝试 MPI_Bcast 将消息广播到多个节点,但遇到段错误,有时错误:139 或错误:255。以下是我的代码:
char proposal[20];
char rep;
int size, rank;
printf("1\n");
//Initialization
MPI_Init(&argc, &argv);
printf("init\n");
//Getting size and rank of processes
MPI_Comm_size(MPI_COMM_WORLD, &size);
printf("abc\n");
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
printf("2\n");
//Proposal message for root node
if(rank == 0)
{
printf("string copy\n");
strcpy("Choose a or b\n", proposal);
}
printf("3\n");
//Broadcasting message
MPI_Bcast(proposal, 20, MPI_CHAR, 0, MPI_COMM_WORLD);
printf("broadcast\n");
printf("%s", proposal);
如果我能得到任何帮助,我将不胜感激。
最佳答案
strcpy
第一个参数是目标,第二个参数是源。你把它颠倒过来了。
关于c - MPI_Bcast 分段故障 139,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35656277/