前几天分析udev实现自动在/dev下创建节点时,看到内核源码中定义actions的数组形式,觉得很奇怪。
static const char *kobject_actions[] = {
[KOBJ_ADD] = "add",
[KOBJ_REMOVE] = "remove",
[KOBJ_CHANGE] = "change",
[KOBJ_MOVE] = "move",
[KOBJ_ONLINE] = "online",
[KOBJ_OFFLINE] = "offline",
};
写了个用户态程序测试了一下,
#include <stdio.h>
#include <stdlib.h>
enum kobject_action {
KOBJ_ADD,
KOBJ_REMOVE,
KOBJ_CHANGE,
KOBJ_MOVE,
KOBJ_ONLINE,
KOBJ_OFFLINE,
KOBJ_MAX
};
static const char *kobject_actions[] = {
[KOBJ_ADD] = "add",
[KOBJ_REMOVE] = "remove",
gcc 二维数组赋值
最新推荐文章于 2018-04-07 15:42:34 发布