C_and_CPP 板


LINE

在 32bit 環境下,邏輯記憶體只有 4G,要用完是有可能的 但 64bit 環境下,邏輯記憶體應該用不完吧? 那這樣還有必要處理 new 失敗的情形嗎? 計概學的很爛,有錯請指正,謝謝 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.233.116.32
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1486736660.A.F9E.html
1F:→ nick5130: 你現在上網電腦的記憶體有無限大嗎? 02/10 22:34
2F:→ nick5130: 如果是的話,就不用考慮new失敗 02/10 22:34
3F:→ nick5130: 如果不是的話,你怎麼會覺得不需要考慮new失敗? 02/10 22:35
4F:→ nick5130: new會不會失敗跟作業系統無關,跟你的電腦記憶體有多少 02/10 22:37
5F:→ nick5130: 有關 02/10 22:37
6F:→ nick5130: 有錯請指正 02/10 22:37
7F:→ os653: 我以為邏輯記憶體沒爆的話,記憶體不夠會拿硬碟當記憶體用 02/10 22:45
8F:→ MOONRAKER: 沒事不會讓你用到完的啦 02/10 22:48
9F:→ LiloHuang: C++ constructor 是可以主動丟 exception 的 02/10 23:34
10F:推 shadow0326: 你可以試試看用到開始swap硬碟當記憶體 程式效能如何 02/10 23:36
11F:→ LiloHuang: new 失敗未必是記憶體不足,還是得處理其它的錯誤。 02/10 23:37
12F:→ CodingMan: 拿硬碟是虛擬記憶體的設定,也不是無限大啊 02/11 00:41
13F:→ Caesar08: 那你硬碟也爆了要怎麼辦? 02/11 00:43
14F:推 laladeer: 用硬碟當記憶體是一個悲劇的開始 02/11 00:55
15F:推 EdisonX: x64 os還是要處理,就算你覺得mem用不完,那也是你現在 02/11 04:35
16F:→ EdisonX: 的情況,有些starter os支援有memory 根本不到16g,就算 02/11 04:35
17F:→ EdisonX: 有好了,實際插16g,這個大小在很多領域都很容易爆,像是 02/11 04:35
18F:→ EdisonX: 影像處理。 02/11 04:35
19F:→ os653: 用到硬碟爆掉,那也沒辦法處理了,直接crash也是可接受的事 02/11 09:29
20F:→ os653: 何況我用到爆記憶體開始用硬碟的時候,那龜速根本無法忍耐 02/11 09:30
21F:→ os653: 倒是使用的library有可能因為別的因素new失敗這點沒考慮到 02/11 09:33
22F:→ CodingMan: 反正判斷一下就不會出錯,你沒判斷出錯了怎麼辦?沒有 02/11 10:05
23F:→ CodingMan: 東西是無限的 02/11 10:05
24F:推 boss0405: 同意樓上,也養成好習慣,沒養成好習慣,要是寫embedded 02/11 10:26
25F:→ boss0405: system的code會很慘 02/11 10:26
26F:推 ronin728: 我的筆電就沒有開虛擬磁碟,因為太消耗,瀏覽器分頁開太 02/11 15:22
27F:→ ronin728: 多就滿出來了 02/11 15:22
28F:推 EdisonX: mem不夠crash沒關系?試想一下早期word裡,用到一半crash 02/12 00:48
29F:→ EdisonX: 有誰可接受。 02/12 00:48
30F:噓 Vdragon: 先確定當前運作的 process 的資料分頁能被系統 swap 到硬 02/12 09:57
31F:→ Vdragon: 碟再說吧 02/12 09:57
32F:→ CodingMan: 怎麼聽起來判斷一下會要你的命一樣XDDD 02/12 13:32
33F:→ os653: 寫判斷code會多很多,而且也不知道到底怎麼寫比較正確 02/12 15:47
34F:→ os653: 到真的爆記憶體的時候,還能夠開檔案寫入錯誤訊息嗎? 02/12 15:49
35F:→ ronin728: IO與記憶體管理有滿天 assert , catch 是很正常的 02/14 10:42
36F:→ Killercat: 你要確認你的東西不會被ulimit卡... 並不是所有linux 02/14 11:54
37F:→ Killercat: app都可以用無限資源去跑的 02/14 11:54
38F:推 TobyH4cker: 之前筆電只有8GB開Chrome也是crash 02/14 18:30
39F:→ ruthertw: 看ㄧ下8086架構的定址方法 02/14 21:53
40F:推 brandyjohn: 好奇要怎麼對記憶體不夠作錯誤處理?有大大可以分享嗎? 02/15 23:45
41F:→ Killercat: More Effective C++, Item 8 02/16 12:53
42F:→ Killercat: 真的要提怎麼針對記憶體new不出來可以寫成一整本書了 02/16 12:54
43F:→ Killercat: 有handler處理(C/C++) 有try-catch bad-alloc(C++) 02/16 12:55
44F:→ Killercat: 也有自己做memory management(STL) 02/16 12:55
45F:→ Killercat: 不過以C++來講 比較通用的方法是抓bad-alloc 02/16 12:55
46F:→ Killercat: 自己做子系統的話 通常是placement new/delete 02/16 12:56
47F:→ Killercat: C場合似乎唯一的解法就是handler了 02/16 12:57







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:iOS站內搜尋

TOP