正确使用MPI和std :: string

时间:2012-12-15 19:11:35

标签: c++ c++11 mpi

std::string与mpi send和mpi recv命令一起使用的正确方法是什么?

我有一个主从模型设置,其中主设备首先从数据库加载相当大量的字符串,我将它们存储在vector<string>容器的内存中,我想将它们发送给从设备一次一个来计算文本分析。我最初编写了我的文本分析函数来接受一个字符串作为输入参数。

我是否应该让主服务器将字符串转换为const char*并且从服务器将其转换回字符串以进行计算?或者我应该只发送字符串s.c_str()作为消息缓冲区?有没有更好的方法呢?

1 个答案:

答案 0 :(得分:1)

您必须先将向量/字符串的大小发送到从属进程。然后,您可以在从属进程中分配所需的内存。在第二遍中,您可以再次发送所有向量。