我想知道为什么签名MPI_Send如下:
int MPI_Send(void *buf, int count, MPI_Datatype datatype, int dest, int tag,
MPI_Comm comm)
Run Code Online (Sandbox Code Playgroud)
第一个参数是类型void *.为什么是类型的第一个参数void *而不是const void *.会MPI_Send修改来源吗?
我问这样的问题,因为我使用MPI和C++并传递message.c_str()到message类型的MPI_Send函数std::string.通过这种方式,编译器抱怨.
MPI_Send会修改源吗?
不,它不会.
我的问题是为什么第一个参数是void*而不是const void*.
糟糕的设计.
MPI的第一版在1989年标准化后发布,并const作为标准提供.
一项提案,缺少添加const到MPI_Send和其他MPI函数提交并接受未来的MPI-3.
https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/140
| 归档时间: |
|
| 查看次数: |
233 次 |
| 最近记录: |