回答編集履歴
4
メモリサイズも追記
test
CHANGED
@@ -30,4 +30,4 @@
|
|
30
30
|
|
31
31
|
|
32
32
|
|
33
|
-
テスト環境:Windows 10 Pro 64bit/VC++2015
|
33
|
+
テスト環境:Windows 10 Pro 64bit 搭載メモリ16GB/VC++2015
|
3
テスト環境追記
test
CHANGED
@@ -29,3 +29,5 @@
|
|
29
29
|
手元の環境では、仮想アドレス空間を140737460043776バイト予約してから、4980736バイトまで確保できたところで256KiB確保しようとしたら`bad_alloc`がスローされました。
|
30
30
|
|
31
31
|
|
32
|
+
|
33
|
+
テスト環境:Windows 10 Pro 64bit/VC++2015
|
2
結果報告
test
CHANGED
@@ -18,4 +18,14 @@
|
|
18
18
|
|
19
19
|
私は以前、かなりプアーな組み込み機器の開発に携わったことがあるのですが、あまりのメモリ搭載量の少なさで、malloc/free等の関数をフックしてメモリ確保量を完璧に把握できるようにしてメモリ使用量を調整したことがあります。
|
20
20
|
|
21
|
+
---
|
21
22
|
|
23
|
+
結果報告
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
軽く試してみました。
|
28
|
+
|
29
|
+
手元の環境では、仮想アドレス空間を140737460043776バイト予約してから、4980736バイトまで確保できたところで256KiB確保しようとしたら`bad_alloc`がスローされました。
|
30
|
+
|
31
|
+
|
1
書き忘れ追記
test
CHANGED
@@ -9,3 +9,13 @@
|
|
9
9
|
デスクトップ向けならそうかもしれませんが、搭載メモリに制限のある組み込み系はやはりテストしないとまずい気がします。シビアなタイミングでのデバイス制御や応答性重視のために、そもそも「スワップさせない」というケースも多いですし。
|
10
10
|
|
11
11
|
その場合はメモリ確保に失敗したらどうするかというよりは、開発段階で「失敗させないようにメモリをやりくりする」ためにテストしながら調整するという感じになるかもしれませんね。
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
書き忘れました。
|
16
|
+
|
17
|
+
> 皆さんはどのようにしてますか?
|
18
|
+
|
19
|
+
私は以前、かなりプアーな組み込み機器の開発に携わったことがあるのですが、あまりのメモリ搭載量の少なさで、malloc/free等の関数をフックしてメモリ確保量を完璧に把握できるようにしてメモリ使用量を調整したことがあります。
|
20
|
+
|
21
|
+
|