日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

malloc申请得到的内存后,再free释放它的时候,操作系统会立即收回那块内存吗?

發布時間:2024/1/23 windows 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 malloc申请得到的内存后,再free释放它的时候,操作系统会立即收回那块内存吗? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

stackoverflow上的回答:

In many malloc/free?implementations,?free?does?normally?not?return?the?memory?to?the?operating?system?(or?at?least?only?in?rare?cases).?The?reason?is,?that?you?will?get?gaps?in?your?heap?and?thus?it?can?happen,?that?you?just?finish?off?your?2?or?4?GB?of?virtual?memory?with?gaps.?This?should?be?avoided?of?course,?since?as?soon?as?the?virtual?memory?is?finished,?you?will?be?in?really?big?trouble.?The?other?reason?of?course?is,?that?the?OS?can?only?handle?memory?chunks?that?are?of?a?specific?size?and?alignment.?To?be?specific:?Normally?the?OS?can?only?handle?blocks?that?the?virtual?memory?manager?can?handle?(most?often?multiples?of?512?Bytes?eg.?4KB).

So?returning?40?Bytes?to?the?OS?will?just?not?work.?So?what?does?free?do?

Free?will?put?the?memory?block?in?its?own?free?block?list.?Normally?it?also?tries?to?meld?together?adjacent?blocks?in?the?address?space.?The?free?block?list?is?just?a?circular?list?of?memory?chunks?which?have?of?course?some?administrative?data?in?the?beginning.?This?is?also?the?reason,?why?managing?very?small?memory?elements?with?the?standard?malloc/free?is?not?efficient.?Every?memory?chunk?needs?additional?data?and?with?smaller?sizes?more?fragmentation?happens.

The?free-list?is?also?the?first?place?that?malloc?looks?at?when?a?new?chunk?of?memory?is?needed.?It?is?scanned?before?it?calls?for?new?memory?from?the?OS.?When?a?chunk?is?found?that?is?bigger?then?the?needed?memory,?it?is?just?divided?into?two?parts.?One?is?returned?to?caller,?the?other?is?put?back?into?the?free?list.

There?are?many?different?optimizations?to?this?standard?behaviour?(for?example?for?small?chunks?of?memory).?But?since?malloc?and?free?must?be?so?universal,?the?standard?behaviour?is?always?the?fallback?when?alternatives?are?not?usable.?There?are?also?optimizations?in?handling?the?free-list?--?for?example?storing?the?chunks?in?lists?sorted?by?sizes.?But?all?optimizations?also?have?their?own?limitations.

首先malloc/free()的操作取決于操作系統和編譯器的實現。一般來說當你調用malloc(),系統會從堆中給你分配一塊足夠大的空閑內存,并返回指向它的指針,并且標記它不再空閑。當調用free(),系統檢查這塊內存的大小,并把它加入到free列表中,而不是立即回收它的內存,因此操作系統只能處理特定大小且連續的內存塊:一般來說是512Bytes的倍數。Free內存塊鏈表的另一個作用是,當調用malloc()時,系統會首先從這個表中查找符合要求的內存塊,如果找不到適合大小的內存塊再向操作系統申請新的內存空間。

總結

以上是生活随笔為你收集整理的malloc申请得到的内存后,再free释放它的时候,操作系统会立即收回那块内存吗?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 99精品人妻国产毛片 | 秘密基地电影免费版观看国语 | 天天看夜夜 | 五月天久久久 | 日本在线免费视频 | 欧美爽爽| 金瓶风月在线 | 男女透逼视频 | 中国av毛片 | 久久老熟女一区二区三区 | 国产又黄又猛视频 | 91春色 | 精品国产日本 | 成人在线观看a | 男女洗澡互摸私密部位视频 | 伊人久综合 | 亚洲在线观看一区二区 | 亚洲淫视频 | 手机在线免费av | 国产一区二区三区在线播放无 | jzzijzzij日本成熟少妇 | 日日摸夜夜添夜夜添高潮喷水 | 成人91看片| 夜夜嗨aⅴ一区二区三区 | 人人爱超碰 | 色综合五月天 | 国产 一二三四五六 | 日本一区二区网站 | 最新视频 - 8mav| 伊人久久国产精品 | 欧美在线a | 欧美日韩精品一区二区 | 在线观看亚洲一区二区 | 色乱码一区二区三区网站 | 老熟妇午夜毛片一区二区三区 | 玉足脚交榨精h文 | www.麻豆av.com | 成人无码av片在线观看 | 五月天婷婷影院 | 无码人妻一区二区三区一 | 激情婷婷六月天 | 少妇性l交大片7724com | 久久久久久黄 | 日批在线观看 | 成人免费av片 | 最新中文字幕久久 | 日韩av一区二区三区在线 | 亚洲精品综合精品自拍 | 中国少妇乱子伦视频播放 | 国产精品久久久久久久久久久久久久 | 成年人www| 欧美污视频 | 青青草视频播放 | 少妇福利在线 | 蜜桃av噜噜一区二区三区麻豆 | 成年人免费看的视频 | 精品无码一区二区三区电影桃花 | 国产原创91 | 成人mv在线观看 | 日韩在线一二 | 成人91在线| 国产一级片免费看 | 久久大香焦 | 久草www| 久久久久无码国产精品不卡 | 在线成人免费电影 | av尤物| 午夜成人鲁丝片午夜精品 | 欧美三级a | 97超碰97| 亚洲国产日韩av | 亚洲免费大片 | 教练含着她的乳奶揉搓揉捏动态图 | 欧美三日本三级少妇三级99观看视频 | 国产卡一卡二在线 | 嫩草影院在线观看视频 | 狠狠爱网站 | 色婷婷九月| 五月婷婷久久久 | 91网站在线免费观看 | 亚州av综合色区无码一区 | 女性向小h片资源在线观看 日本天天操 | 超能一家人电影免费喜剧在线观看 | 一本毛片| 精品一区二区中文字幕 | 亚洲国产精品久久 | 毛片天天看 | av中文字幕在线播放 | 开心激情综合 | 成人午夜一区二区 | 久久理论电影 | 毛片www| 日本一区二区三区电影在线观看 | 亚洲乱亚洲乱 | 久久久久久午夜 | 日韩精品一区二区三区四区五区 | 337p粉嫩大胆噜噜噜噜69影视 | 亚洲色图偷 | 欧美jizzhd精品欧美18 |