Windows核心编程18章笔记

1.进程在创建的时候,会系统会分配一个默认堆给它。可以通过GetProcessHeap()来获得;

2.创建额外堆的原因在于:

a.可以对组件进行保护(其实就是把不同的数据分开放置,从而避免内存覆盖之内的错误);

b.更有效的内存管理(其实就是减少内存碎片);

c.局部访问 (其实就是把相邻的数据放在一起,从而减少内存页的交换);

d.可以避免线程同步的开销(同一个堆在某一时刻只能由一个线程去释放,分配堆中的内存,这就涉及到了同步);

e.快速释放(可以一次性释放整个堆);

3.创建函数:HeapCreate()

4.malloc和heapCreate区别:一个是crt中的API,一个是Windows中的API,在Windows中,malloc的在Windows中的底层实现也是调用了heapCreate;

猜你喜欢

转载自my.oschina.net/u/2533477/blog/1789226