使用VC2010编译后HeapAlloc实际是RtlAllocateHeap,如图.
继续执行,断在对ZwAllocateVirtualMemory的调用上,如图.
综上所述,HeapAlloc(RtlAllocateHeap)底层调用了ZwAllocateVirtualMemory.
注意的是,默认堆是1M,所以要申请大于此数额的内存才易得出结论: WIN32 API 是对底层Native API的安全包装。
使用VC2010编译后HeapAlloc实际是RtlAllocateHeap,如图.
继续执行,断在对ZwAllocateVirtualMemory的调用上,如图.
综上所述,HeapAlloc(RtlAllocateHeap)底层调用了ZwAllocateVirtualMemory.
注意的是,默认堆是1M,所以要申请大于此数额的内存才易得出结论: WIN32 API 是对底层Native API的安全包装。