linux内核bpf内部数组C代码省略号[重复]

问题描述 投票:1回答:1

这个问题在这里已有答案:

这条线是什么意思:

[0 ... 255] = &&default_label 

在定义中:

static const void *jumptable[256] = {
    [0 ... 255] = &&default_label,
    /* Now overwrite non-defaults ... */
    /* 32 bit ALU operations */
    [BPF_ALU | BPF_ADD | BPF_X] = &&ALU_ADD_X,
    …
};

http://lxr.devzen.net/source/xref/linux-4.8.15/kernel/bpf/core.c#473

c linux
1个回答
1
投票

[0 ... 255]表示法是designated initializer语法的GCC扩展(标准C中非常需要)。它通过数组(0值)的255将元素void *设置为address of the label default_label(另一个GCC语法扩展,但这是标准C中不需要的那个)。

© www.soinside.com 2019 - 2024. All rights reserved.