Ubuntu的内核(Vmware的)没有在/usr/include/linux/fs.h来文件的结构file_operations结构
问题描述:
继教程:Ubuntu的内核(Vmware的)没有在/usr/include/linux/fs.h来文件的结构file_operations结构
http://derekmolloy.ie/writing-a-linux-kernel-module-part-2-a-character-device/
执行在Ubuntu后:
sudo apt-get update
apt-cache search linux-headers-$(uname -r)
sudo apt-get install linux-headers-4.8.0-36-generic
cd /usr/src/linux-headers-4.8.0-36
为什么ubuntu内核(Vmware)在/usr/include/linux/fs.h文件中没有file_operations结构?
struct file_operations {
struct module *owner;
loff_t (*llseek) (struct file *, loff_t, int);
ssize_t (*read) (struct file *, char *, size_t, loff_t *);
ssize_t (*write) (struct file *, const char *, size_t, loff_t *);
.
.
.
};
答
这些标头用于用户空间程序。你为什么期望in-kernel fs.h文件在那里?你在做什么呢?
如果您检查内核源代码树,您会看到它在usr/include/linux中包含一组单独的头文件。
您正在查找的可能软件包名为-devel(或-dev)。 apt-file search应该能够告诉你,或者最好是手动的,无论你在这里应该做什么。
编辑:
教程手段的作者包括在内核源代码树/ LINUX/fs.h文件中的文件。
本教程的质量极差,不能遵循。此外,看起来你自己是一般的初学者程序员,在这种情况下,我强烈不鼓励在这个阶段玩内核。
谢谢员工我编辑的问题与我试图遵循的教程的链接。 – Ruben