+ -
当前位置:首页 → 问答吧 → 内核中这种写法是什么意思

内核中这种写法是什么意思

时间:2011-08-15

来源:互联网

#define pgprot_val(x) ((x).pgprot)


莫非是在模拟面向对象,x表示传入的对象,pgprot为属性?
请高手解答

作者: littleubuntu   发布时间: 2011-08-15

结构体也可以用.,不是么= =。

作者: qq120848369   发布时间: 2011-08-15

去内核找段代码看一下就明白了。以X86为例,

typedef unsigned long pgprotval_t; 
typedef struct pgprot { pgprotval_t pgprot; } pgprot_t;
#define pgprot_val(x) ((x).pgprot)

arch/x86/mm/dump_pagetables.c
  72 static void printk_prot(struct seq_file *m, pgprot_t prot, int level)
  73 {  
  74 pgprotval_t pr = pgprot_val(prot);

作者: cqbamboo   发布时间: 2011-08-15

据说是为了将来扩展方便……

作者: gaosifuti   发布时间: 2011-08-15

引用 3 楼 gaosifuti 的回复:

据说是为了将来扩展方便……

good idea!
“据说”来自哪里呢?是不是某个神秘的注释?

作者: cqbamboo   发布时间: 2011-08-15

热门下载

更多