顯示廣告
隱藏 ✕
※ 本文為 CSLabor.bbs. 轉寄自 ptt.cc 更新時間: 2013-05-07 21:10:14
看板 C_and_CPP
作者 cjcat2266 (CJ Cat)
標題 [分享] 記憶體管理 系列文
時間 Tue May  7 04:13:58 2013


最近我剛完成下學期遊戲專案用的Memory Manager
寫了些心得來跟大家分享一下 :)

Part 1 of 3: The Allocator
介紹如何實作簡單的記憶體配置器
http://bit.ly/ZBNTH9

Part 2 of 3: C-Style Interface
示範如何實作C-style的記憶體配置介面
http://bit.ly/YADtvY

Part 3 of 3: STL-Compatible Allocators
解釋如何實作可以跟STL容器一起使用的記憶體配置器
http://bit.ly/13dePB5

--

Blog             http://blog.cjcat.net
Gallery          http://cjcat2266.deviantart.com
ptt2 Board       CJWorkshop

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 98.243.174.254
※ 編輯: cjcat2266       來自: 98.243.174.254       (05/07 04:15)
damody:如果有大量物件的需求 用 http://ppt.cc/fRyf 這個好用!1F 05/07 05:04
damody:Part 3 很實用 幫助我這種記憶不好的人 可以快速改寫~
※ 編輯: cjcat2266       來自: 98.243.174.254       (05/07 07:28)
Killercat:傳統一點的話 loki::smallobject是個不錯的memory pool3F 05/07 09:35
Killercat:實作。最大的特點就是你只要繼承他,甚至不知道他會搞個
Killercat:pool出來,缺點大概就是有點難懂,不過還滿易用的
Killercat:boost::pool也是一種解法 不過還滿少看到有人用的
silveriii:推7F 05/07 10:11
jackace:這文章有錯誤的地方 new跟delete非常少去call system call8F 05/07 13:30
jackace:通常來說 heap的管理都在user space library都幫你做完了
jackace:只有在你new的當下userspace heap空間不夠才會去用system
jackace:call一次要一大塊回來 只要這一大塊還沒用完 接下來的new
jackace:都不用call到system call
hpps:>>jackace, linux基本上是這樣, windows不確定.13F 05/07 14:37
azureblaze:PC上目前大部分的地方其實亂搞都沒關係14F 05/07 15:15
azureblaze:反正RAM大CPU快OS和crt也不會太糟
azureblaze:不過別的平台就需要多注意了
hpps:用part3寫了個簡單的測試, 不曉得對不對17F 05/07 16:50
hpps:http://ideone.com/0KFQGQ

--
※ 看板: FW 文章推薦值: 0 目前人氣: 0 累積人氣: 384 
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇