Windows
zhuyf87
菜鸟
展开
-
Windows 私有堆 - HeapCompact 函数
SIZE_TWINAPI HeapCompact( _In_ HANDLE hHeap, _In_ DWORD dwFlags);HeapCompact函数的作用是整理私有堆,合并相邻的空闲块,避免产生大量的小的内存碎片。这样来看,这个函数的作用很关键。但扫一眼MSDN,就会发现HeapCompact 函数其实主要用于调试。因为,通常系统会在调用HeapFree 函数时自动原创 2014-11-26 13:11:42 · 1281 阅读 · 0 评论 -
UTF的字节序和BOM
独立博客链接地址:http://zhuyanfeng.com/archives/403UTF-8以字节为编码单元,没有字节序的问题。UTF-16以两个字节为编码单元,在解释一个UTF-16文本前,首先要弄清楚每个编码单元的字节序。例如”奎”的Unicode编码是594E,”乙”的Unicode编码是4E59。如果收到UTF-16字节流”594E”,那么这是”奎”还是”乙”?Unicode规原创 2013-05-07 20:45:02 · 979 阅读 · 1 评论 -
Windows 私有堆 - HEAP_NO_SERIALIZE 标志
假如没有设置HEAP_NO_SERIALIZE 标志,则对私有堆的访问(HeapAlloc、HeapFree 等)就是串行化的。串行化可以保证当多个线程同时从同一个私有堆分配内存时互斥,私有堆不会遭到破坏。串行化会造成一些性能损耗,但是很有必要。HeapLock 和 HeapUnlock 函数可以用于阻止或允许访问一个串行化的堆。如果设置了HEAP_NO_SERIALIZE 标志,就消除了原创 2014-11-26 13:08:06 · 1600 阅读 · 0 评论