C-对不完整类型(struct input_dev)无效地使用sizeof
我正在编写一个与linux输入子系统交互的程序。以下是我试图编译的主要文件:C-对不完整类型(struct input_dev)无效地使用sizeof,c,linux,input,C,Linux,Input,我正在编写一个与linux输入子系统交互的程序。以下是我试图编译的主要文件: #include <linux/input.h> #include <stdio.h> void idevcreate() { struct input_dev idev; memset(&idev, 0, sizeof(struct input_dev)); } 我猜程序无法找到input\u dev的定义。这里有什么我遗漏的吗?我认为您需要简单地找到系统对struct i
#include <linux/input.h>
#include <stdio.h>
void idevcreate() {
struct input_dev idev;
memset(&idev, 0, sizeof(struct input_dev));
}
我猜程序无法找到
input\u dev
的定义。这里有什么我遗漏的吗?我认为您需要简单地找到系统对struct input\u dev
的定义,并包含相关的标题。我会这样做:
grep -r "struct input_dev" /usr/include
struct-input\u-dev
是在哪里定义的?我不知道这是否真的是一个答案,但不需要显式调用memset,只需执行struct-input\u-dev-idev={}
并以更少的输入获得相同的效果。@DanielFischer:据我所知,它应该在,但OP应该检查正在使用的特定机器。@JohnZwinck我没有提到它,这就是为什么我问的原因。你在混合内核级和用户级头。这是行不通的。你是在写驱动程序还是用户空间程序?什么也没找到。我想它确实被移除了。
grep -r "struct input_dev" /usr/include