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文件中的文件。

本教程的质量极差,不能遵循。此外,看起来你自己是一般的初学者程序员,在这种情况下,我强烈不鼓励在这个阶段玩内核。

+0

谢谢员工我编辑的问题与我试图遵循的教程的链接。 – Ruben