国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
HeapAlloc和GlobalAlloc以及VirtualAlloc三者之間的關系 - Stay Hungry, Stay Foolish - 博客園
    VirtualAlloc一次分配1PAGE以上的RAM. 每次分配都是PAGE的整數(shù)倍.
你不會想為了分配1個BYTE的空間而浪費剩下的4095字節(jié). OK. 你可以自己寫算法,多分
配幾PAGE. 然后每次分配少量數(shù)據(jù)時就從那幾PAGE中劃分出來. 什么? 你笨到不會寫分
配算法? 好巴 KERNEL32給你一個解決辦法. 用HeapAlloc/GlobalAlloc分配RAM. 這樣,
KERNEL32幫你完成分配動作, 并且盡量在減少用于跟蹤空閑區(qū)域和已占用區(qū)域消耗的數(shù)
據(jù)結構.

    很久以前也有個產(chǎn)品叫做WINDOWS. 那時候的WINDOWS是16BIT的. 地址空間有些緊俏.
有錢不夠. 還需要糧票肉票才能拿到. 你已經(jīng)調(diào)用GlobalAlloc和已經(jīng)出錢的性質一樣.
GlobalAlloc還不夠. 有時候需要GlocalLock才能確定你的東西確實可以拿到手.不然你
的指針會非法. 被充公. 你的應用會被殺頭. 扯遠了. 后來OS進化了. 覺得可以取消糧
票肉票. 但是你必須用新版鈔票才行. 那就是HeapAlloc. 只要市場上的RAM數(shù)量沒問題
. 你的HeapAlloc沒問題. 那就總能拿到東西. 但是, 你總不能說有了2000版的鈔票,
那80版的馬上作廢啊. 那GlobalAlloc也只好繼續(xù)流通下去. 至于可以流通到什么時候.
沒人知道.

- new是C++操作符, GlobalAlloc是WinXX的API函數(shù)。
- new除了分配內(nèi)存外還會調(diào)用構造函數(shù), GlobalAlloc已經(jīng)不提倡使用為了與16位的程序兼容而保留的
- 兩者均作全局內(nèi)存分配,new可以根據(jù)操作系統(tǒng)有不同的實現(xiàn)(但無論如何實現(xiàn),其分配出之內(nèi)存只能被同一進程訪問), 但后者分配的內(nèi)存可以被不同進程訪問(比如在進程1中分配內(nèi)存,進程2中釋放其。)所以后者才是真正的全局分配.
一般除了在剪貼板等函數(shù)中使用GlobalAlloc函數(shù)返回的句柄外,在其它地方使用GlobalAlloc函數(shù)的地方不多啊
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
HeapAlloc、GlobalAlloc、LocalAlloc、VirtualAlloc、malloc、new的異同
c語言內(nèi)存分配函數(shù)之間的區(qū)別
內(nèi)存的一些magic number和debug crt
內(nèi)存管理[2]
Windows下動態(tài)內(nèi)存分配方式
內(nèi)存的申請與釋放
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服