我需要MPI_Send()
变量fileChangedTime
。
struct stat fileinfo;
string name = "foo.txt";
time_t fileChangedTime = 0;
if(-1 != stat(name.c_str(), &fileinfo)){
fileChangedTime = fileinfo.st_mtime;
}
我不确定time_t到MPI数据类型的转换。吨。
答案 0 :(得分:0)
使用MPI_Send
,您可以传输任何数据。 MPI_Datatype
字段只是将void*
指向的每个数据元素的大小指定为第一个参数。
typedef struct {
int a;
float b;
} my_t;
...
my_t m;
int error = MPI_Send((void*)&m, // data
sizeof(t), // size in of data in bytes
MPI_CHAR, // or use MPI_BYTE or MPI_UNSIGNED_CHAR
0, 0, comm);
因此,通过上面的示例,您可以通过指定字节大小和1字节大小的某种类型来发送任何数据。在你的情况下像这样
int error = MPI_Send((void*)&fileChangedTime, // data
sizeof(fileChangedTime), // size in of data in bytes
MPI_BYTE, // or use MPI_BYTE or MPI_UNSIGNED_CHAR
0, 0, comm);