三个点在指定的初始化程序中意味着什么?

时间:2013-11-27 02:18:45

标签: c gcc designated-initializer

我发现了这个 linux/include/linux/cpumask.h

#define CPU_BITS_ALL                        \
{                               \
    [0 ... BITS_TO_LONGS(NR_CPUS)-2] = ~0UL,        \
    [BITS_TO_LONGS(NR_CPUS)-1] = CPU_MASK_LAST_WORD     \
}
#endif /* NR_CPUS > BITS_PER_LONG */

三个点(...)是什么意思?我假设三个点改变了 排成这样的东西:

[0] = ~0UL,     \
[1] = ~0UL,     \
[n] = ~0UL,     \
...
[BITS_TO_LONGS(NR_CPUS)-2] = ~0UL,      \

但我不确定。我无法通过我的问题找到答案 谷歌。这三个点可能是C的GCC扩展的一部分。

0 个答案:

没有答案