将std::string
与mpi send和mpi recv命令一起使用的正确方法是什么?
我有一个主从模型设置,其中主设备首先从数据库加载相当大量的字符串,我将它们存储在vector<string>
容器的内存中,我想将它们发送给从设备一次一个来计算文本分析。我最初编写了我的文本分析函数来接受一个字符串作为输入参数。
我是否应该让主服务器将字符串转换为const char*
并且从服务器将其转换回字符串以进行计算?或者我应该只发送字符串s.c_str()
作为消息缓冲区?有没有更好的方法呢?
答案 0 :(得分:1)
您必须先将向量/字符串的大小发送到从属进程。然后,您可以在从属进程中分配所需的内存。在第二遍中,您可以再次发送所有向量。