Archive for the ‘Linux内核与驱动’ Category

winux项目[1]是我五年前参加学校科技创新申请的项目,用时一年实现了PE Loader以及kernel32.dll里面3个Win32 API的移植工作,后来因为项目结题加上要忙其他事情就把后续开发工作搁置了。最近整理以前的代码的时候发现关于这个项目除了结题时提交的一篇水paper之外再没写过任何技术资料,所以趁着相关知识还没全忘赶紧写篇手记留作纪念。

Read the rest of this entry »

#define ELF_PAGESTART(_v) ((_v) & ~(unsigned long)(ELF_MIN_ALIGN-1))
目的:将地址按页大小向前对齐
举例:0x1234 -> 0x1000

#define ELF_PAGEOFFSET(_v) ((_v) & (ELF_MIN_ALIGN-1))
目的:计算地址相对页大小的差值
举例:0x1234 -> 0x234

#define ELF_PAGEALIGN(_v) (((_v) + ELF_MIN_ALIGN - 1) & ~(ELF_MIN_ALIGN - 1))
目的:将地址按页大小向后对齐
举例:0x1234 -> 0x2000

World Line
Time Machine
Online Tools