不知道为什么我不能得到这个但是......
我最初从另一个处理器获得一个指针的地址,我需要一个指向该地址项的指针。不要太担心MPI_Recv,只要知道我从其他处理器获取信息。所以我有:
MPI_Recv(&a, sizeof(int), MPI_INT, 0, 1, MPI_COMM_WORLD, &status);
c = a;
printf("%d",c[0]);
为什么这会给我一个分段错误?我已经尝试在设置c = a之前为c分配内存,它仍然会出现故障。想法?我已经试着在网上看了很长一段时间,却找不到任何东西。提前致谢
答案 0 :(得分:6)
每个流程都有自己独立的virtual address spaces。来自一个过程的指针在另一个过程的背景下毫无意义。
您有几种选择:
如果您的进程可以驻留在不同的计算机上,则只有最后一个选项是可行的。