相当于Linux中的dwAllocationGranularity
Equivalent of dwAllocationGranularity in Linux?
Linux中的dwAllocationGranularity
是什么?在Windows中,它被定义为:
分配虚拟内存的起始地址粒度
请注意,这是与PAGE_SIZE
不同的,后者是物理页面的粒度。(在Windows上,虚拟地址粒度在x86上是64 KiB,而页面大小当然是4 KiB。)
Linux上与VirtualAlloc最接近的等价物是mmap,它与VirtualAlloc一样,允许您指定所分配内存的所需分配目标地址。在Windows上,这个地址必须在分配粒度上保持一致。在Linux上,我引用mmap手册页:
如果addr不为NULL,那么内核将其作为指向何处的提示放置映射;在Linux上,映射将在附近创建页面边界 .
据我所知,不存在分配粒度高于系统页面大小的情况,因此您应该能够安全地使用PAGE_SIZE作为替代品。
相关文章:
- 没有找到相关文章