在Linux内核中,为什么某些结构被声明为不完整类型?

时间:2018-11-02 05:58:57

标签: c linux kernel

下面是Linux内核的一个片段,包括include / file.h

结构“ file_operations”(位于linux / fs.h中)使用无变量名声明,仅声明,而且fs.h标头未出现在包含路径中。

我假设它是一个匿名声明,以允许另一个结构或函数保留仅以名称引用它的指针,但是有什么想法吗?

#include <linux/compiler.h>
#include <linux/types.h>
#include <linux/posix_types.h>

struct file;

extern void fput(struct file *);

struct file_operations;
struct vfsmount;
struct dentry;
struct path;
extern struct file *alloc_file(struct path *, fmode_t mode,
    const struct file_operations *fop);

...

0 个答案:

没有答案