我发现这个
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, \
但我不确定。我无法通过 Google 找到我的问题的答案。这三个点可能是对 C 的 GCC 扩展的一部分。