回答編集履歴
3
雑記追記
test
CHANGED
@@ -42,6 +42,24 @@
|
|
42
42
|
|
43
43
|
|
44
44
|
|
45
|
+
### 2016/09/18 09:23 AM (雑記追記)
|
46
|
+
|
47
|
+
私もこの質問を見てなぜ0x00400000なのか気になりましたが、
|
48
|
+
|
49
|
+
HogeAnimalLover様が書かれている通り「作った人がそう決めたから」という筋が大いにありそうですね。
|
50
|
+
|
51
|
+
0x003FFFFFまではシステム領域として確保しておけば足りるだろうなどと考えたのかと推測します。
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
似た話でWake-on-LanのマジックパケットのMACアドレスを何故16回繰り返すのかというのもあります。
|
56
|
+
|
57
|
+
「16回でなく、15回でも、17回でも、32回でもよかったんじゃないか…」といった話です。
|
58
|
+
|
59
|
+
おそらく作者が「16回MACアドレスを繰り返せば他のパケットと偶然一致することはないだろう」などと考え、仕様を制定したのかと推測します。
|
60
|
+
|
61
|
+
|
62
|
+
|
45
63
|
### 参考文献
|
46
64
|
|
47
65
|
ELF実行ファイルのメモリ配置はどのように決まるのか - ももいろテクノロジー
|
2
参考文献追加
test
CHANGED
@@ -1,6 +1,28 @@
|
|
1
1
|
なぜ0x00400000にしたかと言うのは具体的に答えられませんが、
|
2
2
|
|
3
3
|
Linux, Unix系やWindowsに限らずParOSと呼ばれる独自OSでも0x00400000が実行ファイルのスタートアドレスとして指定されています。
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
コンパイラによっては変更することができるようです。
|
8
|
+
|
9
|
+
```
|
10
|
+
|
11
|
+
/BASE オプションの利用
|
12
|
+
|
13
|
+
プログラムのベース・アドレスを設定し,
|
14
|
+
|
15
|
+
実行形式ファイルまたは DLL の基本場所を置換します
|
16
|
+
|
17
|
+
(実行形式ファイルでは 0x400000,DLL では 0x10000000)。
|
18
|
+
|
19
|
+
https://jp.xlsoft.com/documents/intel/cvf/vf-html/pg/pg04_02_04.htm
|
20
|
+
|
21
|
+
```
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
「memory map 0x00400000」などで検索すると色々ヒットします。
|
4
26
|
|
5
27
|
|
6
28
|
|
1
参考文献追加
test
CHANGED
@@ -20,6 +20,8 @@
|
|
20
20
|
|
21
21
|
|
22
22
|
|
23
|
+
### 参考文献
|
24
|
+
|
23
25
|
ELF実行ファイルのメモリ配置はどのように決まるのか - ももいろテクノロジー
|
24
26
|
|
25
27
|
[http://inaz2.hatenablog.com/entry/2014/07/27/205913](http://inaz2.hatenablog.com/entry/2014/07/27/205913)
|
@@ -29,3 +31,9 @@
|
|
29
31
|
ParOS - 15ページ目
|
30
32
|
|
31
33
|
[https://www.toppers.jp/docs/tech/park/PartitionOS_SafetyConcept.pdf](https://www.toppers.jp/docs/tech/park/PartitionOS_SafetyConcept.pdf)
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
windowsにおいて、デバッグソフトを用いて実行中のプロセスをアタッチし... - Yahoo!知恵袋
|
38
|
+
|
39
|
+
[http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10131267615](http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10131267615)
|