|
1. new, delete 操作及 malloc 等 function 都是对 heap 操作, 并不是每次都去向 OS 要 memory.
2. 对一般 OS 而言, 为了 memory allocation 的效率, 故其 heap 的 allocation 都是一次要一定的数量, 故有些 new-delete 的操作, 只是 heap 的剩馀空间变化, 对 OS 管理的 memory 是没有影响的.
3. 以 LZ 的例子而言, 只是 HEAP 内的风暴, 故 OS 不会发现, 至於会不会 crash, 则端看该 memory 是否有被配置, 或是改变後会不会对程式流程影响.
4. WindowsCE & desktop Windows 只是 API (都称为 Win32 API) 相容 (compatible), 故呼叫这些 api 时参数个数与型态皆相同, 但该 api 实作的细节却不一定相同, 这点 LZ 必须注意.
5. 对 heap 的解释, 可参考 http://msdn.microsoft.com/en-us/library/bb202725.aspx
Paul, Chao @ Techware
|
|