gliethttpgliethttp.blog.chinaunix.net
gliethttp
全部博文(2005)
2014年(2)
2013年(2)
2012年(16)
2011年(66)
2010年(368)
2009年(743)
2008年(491)
2007年(317)
linux_zj
程睿
mzh2100
dogsun88
叶绍琛
kowems
gongping
chumojin
高泽然
os123456
hiderhao
zahassio
byy6by
zxy11861
COVID_19
a1960048
swzswz
hzj_001
分类: C/C++
2007-08-10 21:35:05
对于结构体指针+、-常数的理解(page_to_pfn和pfn_to_page)文章来源:http://gliethttp.cublog.cn//对同类型的结构体指针进行+,-运算,结果是加减多少个结构体.//1.对于减运算//两个同类型的结构体指针进行"-"运算,结果为两个单元地址空间之间一共距离多少个这种结构体//例:page_to_pfn()函数:将mem_map_t类型的页管理单元page,转换为它所管理的页对应的物理页帧号#define page_to_pfn(page) (((page) - mem_map) + PHYS_PFN_OFFSET)//page - mem_map=表示从mem_map到page一共有多少个mem_map_t这种结构体,即:一共有多少个页//2.对于加运算//对结构体指针进行"+"运算,如:mem_map + 3;结果为mem_map所在地址加上3个mem_map_t结构体大小结构块之后的最终地址//例:pfn_to_page()函数:将物理页帧号转换为管理该页的mem_map_t类型指针page#define pfn_to_page(pfn) ((mem_map + (pfn)) - PHYS_PFN_OFFSET)//变换一种形式可以更容易理解:(mem_map + (pfn - PHYS_PFN_OFFSET))//其中index = pfn - PHYS_PFN_OFFSET表示物理页帧号pfn对应的偏移索引号index
上一篇:μC/GUI-v3.90a窗体hParent内部控件窗体之间单向链接图
下一篇:浅析armlinux-Buddy(伙伴)算法-释放合并回收函数__free_pages_ok()
登录 注册