齐宏专题

Windows 与 Linux 下的 PAGE_ALIGN 页面对齐宏引发的 BUG

今天遇到了一个BUG,找了半天才定位到是 PAGE_ALIGN 宏导致的。 这个宏在 Windows 上和 Linux 上的定义不同,才得以引发了这次BUG的发生。   PAGE_ALIGN 的用处是对齐一个页面地址。 先来看看定义: // Windows#define PAGE_ALIGN(Va) ((PVOID)((ULONG_PTR)(Va) & ~(PAGE_SIZE