【发布时间】:2011-01-16 13:21:19
【问题描述】:
我需要MPI_Gatherv() 一些整数/字符串对。假设每一对看起来像这样:
struct Pair {
int x;
unsigned s_len;
char s[1]; // variable-length string of s_len chars
};
如何为 Pair 定义合适的 MPI 数据类型?
【问题讨论】:
-
对可变长度数组使用
char s[0];,而不是char s[1];。 -
@KennyTM, s[0] 给出“警告 C4200:使用了非标准扩展:结构/联合中的零大小数组”。
-
啊 MSVC。 gcc 正确支持 C99,但 MSVC 不支持。
-
@KennyTM,嗯,我仍然想知道在什么意义上 s[0] 会更正确?如果我知道我的字符串永远不会为空,s[0] 还会更正确吗?