sponsored links

GlobalLock的前世今生3: 進入Win32的世界

至此,你應該明白16位Windows的記憶體管理器是如何處理全域性堆了。是時候來進入32位的Windows的世界了。

到了32位之後,GlobalAlloc會繼續和之前一樣模擬所有記憶體移動規則,但是GlobalAlloc的返回值不再是一個選擇子(Selector),因為在Win32中,處理器是執行在平坦地址模式(Flat Mode)。

這意味著,之前快取選擇子並在底層重新分配記憶體的技法不再有效。

記憶體的移動性語義被完整地保留下來。記憶體塊依然會有一個屬性叫做鎖定計數,即使它並沒有什麼意義,因為Win32系統從來都不會對記憶體進行壓縮(請回憶一下,鎖定計數是用來防止記憶體在壓縮期間進行移動的一個屬性)。

如果不是為了照顧GlobalFlags這個函式,可移動記憶體和鎖定計數可以被完全地從系統中移除。GlobalFlags會返回一些奇怪的位資訊模式,但現在這些資訊都和記憶體不相關了,唯有鎖定計數這一項資訊。所以,鎖定計數依然保留,以防止有一些應用程式會使用到它,或者一個程式會預期GlbalReAlloc會在一個已鎖定的記憶體塊上執行失敗。

除此之外,一塊可移動記憶體除了上述的開銷之外,並不能給你帶來什麼其他的東西。

另外一個函式,LocalAlloc也是一樣,它依然會帶有記憶體移動性的操作開銷,但是因為在Win16上,本地記憶體不會在DLL之間傳遞,所以本地堆相關的函式不會像全域性堆那樣會帶有16位相容性開銷的問題。
在Win32上,基於上面的原因,推薦使用LocalAlloc。
(當然了,很多函式在記憶體分配時,需要指定一個特殊的型別,這個時候,你就不會有太多選擇。例如,剪貼簿就需要一個可移動的全域性控制代碼,另外,COM需要使用一個任務分配器)

接下來,我們將會關注記憶體的鎖定是如何實現的(雖然它也不會做什麼有實際意義的操作)。

總結

拓撲梅爾智慧辦公平臺(Topomel Box):還是Win32對我們好,API豐富,相容性也好,文件又全面。
Win11:還沒好夠…(DOG)

最後

Raymond Chen的《The Old New Thing》是我非常喜歡的部落格之一,裡面有很多關於Windows的小知識,對於廣大Windows平臺開發者來說,確實十分有幫助。
本文來自:《A history of GlobalLock, part 3: Transitioning to Win32》

GlobalLock的前世今生3: 進入Win32的世界

分類: 遊戲
時間: 2021-12-20

相關文章

肥皂盒誰還花錢買?塑膠瓶上剪幾刀就做成肥皂盒,實用省錢又環保

肥皂盒誰還花錢買?塑膠瓶上剪幾刀就做成肥皂盒,實用省錢又環保
像這種大號塑膠瓶,我們喝個飲料就有了,相信大家家裡隨處就能找出幾個來,今天我們要改造一下塑膠瓶,把塑膠瓶做成一個實用的肥皂盒,下面讓我們一起來具體瞭解一下吧. 肥皂盒誰還花錢買?我們在塑膠瓶上面剪幾刀 ...

這5條花錢買來的教訓,大家要牢記,裝修的時候不要再犯了

這5條花錢買來的教訓,大家要牢記,裝修的時候不要再犯了
這5條花錢買來的教訓,大家要牢記,裝修的時候不要再犯了 相信大家對於自己的新家都是有著很大期待的吧,在買了房子之後我們都會開開心心的裝修,然後等待裝修好和家人一起搬到新家生活,在裝修的過程當中我們都是 ...

在橘子頂部開一個口,太聰明瞭,用途花錢買不到,簡單還實用

在橘子頂部開一個口,太聰明瞭,用途花錢買不到,簡單還實用
歡迎大家觀看二姐這篇在橘子頂部開一個口,太聰明瞭,用途花錢買不到的文章.本圖文為二姐美食原創作品,嚴禁轉載與抄襲.如果有美食方面的想法,歡迎大家和我交流!二姐美食,教你做家常美味. 二姐心得之在橘子頂 ...

想吃紅糖餈粑不用花錢買,自己在家做,省錢又實惠,軟糯酥脆

想吃紅糖餈粑不用花錢買,自己在家做,省錢又實惠,軟糯酥脆
想吃紅糖餈粑不用花錢買,自己在家做,省錢又實惠,軟糯酥脆 說起紅糖餈粑,這是一道非常有名的川渝小吃,記得小時候每年過年的時候,家裡總會做,平時是吃不到的,不像現在,想吃隨時都能吃到,傳統的餈粑製作是使 ...

初秋養花,3種花別花錢買,掰個枝條插土裡很快長芽

初秋養花,3種花別花錢買,掰個枝條插土裡很快長芽
花花看到部分網友向花友們請教,秋天到底該買什麼花,花花偷偷告訴你,根本不需要吃花錢的虧,有的花其實根本不用買,隨便掰個枝條在土裡,就能發芽成花! 一.長壽花 長壽花是很多花友在入秋後,特別喜歡入手的花 ...

不到10塊錢就能買到減脂食材,真別再花錢買減脂餐了|含飲食計劃

不到10塊錢就能買到減脂食材,真別再花錢買減脂餐了|含飲食計劃
對於減肥的小夥伴最難的不是堅持運動,而是如何安排自己的每餐飲食.畢竟,每天面對的美食誘惑那麼多,要想控制飲食可實在是太難了.甚至有人為了減脂,花大價錢買減脂餐,可到頭來卻收效甚微.想要自己做減脂餐,卻 ...

釣友福利來了,漁具不再花錢買了,自己動手掙

釣友福利來了,漁具不再花錢買了,自己動手掙
釣魚人福利來了 今天給大家推薦一款全國釣友都在用的釣魚App,這款軟體福利超滿,可以免費賺漁具,白嫖餌料,平臺不定期抽獎送漁具,為釣友著想,新使用者可以在平臺花五角錢買個東西送臺釣禮包或者路亞禮包任選 ...

從直播一姐到花錢買粉絲,馮提莫的涼涼之路是如何鋪起來的?

從直播一姐到花錢買粉絲,馮提莫的涼涼之路是如何鋪起來的?
人常說:工作即興趣,是最理想的生活狀態.但是大多數人做不到. 2014年9月,大學畢業剛進入重慶幼師的馮亞男,並沒有興趣備課,而是一頭扎進網路玩起了遊戲. 同學在某魚有個遊戲直播間,招呼她一起玩.這一 ...

還在花錢買漁具煩惱嗎,我教你不花錢自己掙

還在花錢買漁具煩惱嗎,我教你不花錢自己掙
釣魚人福利來了 今天給大家推薦一款全國釣友都在用的釣魚App,這款軟體福利超滿,可以免費賺漁具,白嫖餌料,平臺不定期抽獎送漁具,為釣友著想,新使用者可以在平臺花五角錢買個東西送臺釣禮包或者路亞禮包任選 ...

雞蛋殼是養花神器,掌握住這些用法,完全不需再花錢買肥料了

雞蛋殼是養花神器,掌握住這些用法,完全不需再花錢買肥料了
雞蛋殼是好東西,很多花友們已經都知道了,在養花的時候,雞蛋殼的作用非常大,而且除了雞蛋殼,裡面的生雞蛋也是養花神器,用它們來養花,完全可以剩下肥料的錢,效果還非常的好.那麼我們在家中使用雞蛋的時候,需 ...

有人花錢吃喝,有人花錢買普拉多,10款現在還賣27萬,合理嗎?

有人花錢吃喝,有人花錢買普拉多,10款現在還賣27萬,合理嗎?
哈嘍!大家好!檢車家老司機又跟大家見面了.我是一名二手車檢測技師大師兄.大師兄以前是一名汽車修理工,經過不斷磨練不斷進化後終於成為了檢車家的一員.本應該靠著顏值吃飯的我卻毅然選擇去跟二手車打交道.就當 ...

鍋蓋頭壞了誰還花錢買呀!只需一個空油桶,比買的漂亮還更好用

鍋蓋頭壞了誰還花錢買呀!只需一個空油桶,比買的漂亮還更好用
相信很多人都遇到過鍋蓋頭壞了的情況,一般我們都會選擇花錢換一個,其實根本不需要花這個冤枉錢.今天我教大家用一個空油桶,做一個更漂亮更好用的鍋蓋頭,下面一起來看看吧! 方法步驟如下: 首先準備一個空油桶 ...

那麼好的裝修效果,我做了,現在我後悔了,就當花錢買教訓了

那麼好的裝修效果,我做了,現在我後悔了,就當花錢買教訓了
因為喜歡就盲目選擇了,用了半年現在後悔了,你家的裝修有沒有出現這個情況? 上兩天有一位業主和我深入地聊了聊他家做的電視背景牆,讓我給我們的業主說一聲,千萬不要做成他家這個樣子的,後悔呀. 先發個圖片吧 ...

喬遷在即,親友明裡暗裡嘲諷這12個裝修專案!純屬給白花錢找罪受
新房裝修,既要燒錢,又要操心,最後可能還不如人意.現實中更多的業主喜歡跟風裝修,不注意細節,最後各種的後悔不已.今天,就給大家帶來裝修中最容易忽視的12大裝修錯誤敗筆,你們可別再掉坑了. 1.百葉窗簾 ...

釣魚還在花錢買“小藥”?試試這3種東西,別再花冤枉錢了

釣魚還在花錢買“小藥”?試試這3種東西,別再花冤枉錢了
釣魚,作為一項戶外休閒運動,近年來也是深受大家的喜愛,隨著大量的新人湧入,釣魚行業也得到了前所未有的發展,但新的問題也隨之而來,釣魚的人多了,水裡的魚卻變少了,也變得狡猾了. 此時,想要將水中的魚兒們 ...

手機版《死亡細胞》DLC「致命墜落」9月21日發售

手機版《死亡細胞》DLC「致命墜落」9月21日發售
由 bilibili 遊戲獨家代理.Motion Twin.Evil Empire.Playdigious 研發出品的橫版動作手遊<死亡細胞>(大陸官譯<重生細胞>),將於 9 ...

正在無限靠近F1的大眾集團

正在無限靠近F1的大眾集團
關於大眾有意加入F1的訊息,早已不是新聞.雖然已經表現出了對加入F1的極大興趣,但他們沉穩的步伐顯示了德國人嚴謹的行事方式.對於大眾的加入,苦於缺少廠商車隊支撐的F1表現得相當的積極,不過由於F1的聯 ...

享受車子升級的樂趣 四代飛度868改裝案例

享受車子升級的樂趣 四代飛度868改裝案例
2020年12月提的新飛度868,買這臺車也是代步.家裡還有一臺賓士C級,兩個人不夠開還需要加一臺代步車. 買了車送了臨時牌就開回家了.老實說從賓士C換飛度很多不習慣.以前的車配置齊全.很多東西都是自 ...

癌症化療後,怎麼知道有沒有效果?若有3種表現,值得恭喜

癌症化療後,怎麼知道有沒有效果?若有3種表現,值得恭喜
化療,對於患者和家屬都是一個艱難的選擇,劉家兄弟已經吵翻了天. 一週前,70歲劉老爺子查出了肺癌,已經發生了轉移,是晚期.醫生的建議是做化療,在徵求家屬意見的時候,老大劉大(化名)和老二(劉二)出了很 ...

不喝“大酒”就沒事了?調查978萬人發現:“常喝小酒”危害更大

不喝“大酒”就沒事了?調查978萬人發現:“常喝小酒”危害更大
很多人常說: "小酒怡情.大酒傷身" "偶爾吃飯的時候小酌一杯,對身體是沒有什麼影響的" "專家說,適當喝酒可以活化血管,喝酒是有好處的!" ...