相关疑难解决方法(0)

dot(.)在struct初始化程序中的含义是什么?

static struct fuse_oprations hello_oper = {
  .getattr = hello_getattr,
  .readdir = hello_readdir,
  .open    = hello_open,
  .read    = hello_read,
};
Run Code Online (Sandbox Code Playgroud)

我不太了解这个C语法.我甚至无法搜索,因为我不知道语法的名称.那是什么?

c c99 designated-initializer

107
推荐指数
3
解决办法
3万
查看次数

[N ... M]在C聚合初始化器中的含义是什么?

sys.c第123行:

void *sys_call_table[__NR_syscalls] = 
{
    [0 ... __NR_syscalls-1] = sys_ni_syscall,
#include <asm/unistd.h>
};
Run Code Online (Sandbox Code Playgroud)

sys_call_table是一个指向数组的通用指针,我可以看到.但是符号是什么:

[0 ... __NR_syscalls-1]
Run Code Online (Sandbox Code Playgroud)

什么是...


编辑:
我在这里学到了另一个C技巧:#include <asm/unistd.h>将被预处理并替换为其内容并分配给[0 ... _NR_syscalls-1].

c linux kernel

101
推荐指数
1
解决办法
2850
查看次数

标签 统计

c ×2

c99 ×1

designated-initializer ×1

kernel ×1

linux ×1