teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

回答に追記

2020/05/02 16:14

投稿

y_waiwai
y_waiwai

スコア88180

answer CHANGED
@@ -43,4 +43,23 @@
43
43
 
44
44
  00007FFFFFFED210-00007FFFFFFED211
45
45
 
46
- うーん、再現しませんねー
46
+ うーん、再現しませんねー
47
+
48
+ ---
49
+ 別回答にあったようにちょっと実験
50
+ ```C
51
+
52
+ int main()
53
+ {
54
+ unsigned char* test=(void*)0x7ffffffed210; //0x7ffffffed210が先頭メモリ
55
+ unsigned char *pointer;
56
+
57
+ pointer = (int)move_add(test);
58
+ printf("%p-%p\n",test,pointer); //0xfffffffffffed211
59
+ return 0;
60
+ }
61
+
62
+ ```
63
+ 00007FFFFFFED210-FFFFFFFFFFFED211
64
+
65
+ なるほど、そゆことねw

1

回答に追記

2020/05/02 16:14

投稿

y_waiwai
y_waiwai

スコア88180

answer CHANGED
@@ -1,3 +1,46 @@
1
1
  pointer = move_add(test);
2
2
 
3
- とやってみよう
3
+ とやってみよう
4
+
5
+ ---
6
+ ```C
7
+ unsigned char *move_add(unsigned char *recv_p)
8
+ {
9
+ recv_p++;
10
+ return recv_p; //0x7ffffffed211
11
+ }
12
+
13
+ int main()
14
+ {
15
+ unsigned char test[100]; //0x7ffffffed210が先頭メモリ
16
+ unsigned char *pointer;
17
+
18
+ pointer = move_add(test);
19
+ printf("%p-%p\n",test,pointer); //0xfffffffffffed211
20
+ return 0;
21
+ }
22
+
23
+ ```
24
+ 実行結果
25
+ 000000000061FDB0-000000000061FDB1
26
+
27
+ ウチではこうなりますね
28
+
29
+ ついでに
30
+ ```C
31
+
32
+ int main()
33
+ {
34
+ unsigned char* test=(void*)0x7ffffffed210; //0x7ffffffed210が先頭メモリ
35
+ unsigned char *pointer;
36
+
37
+ pointer = move_add(test);
38
+ printf("%p-%p\n",test,pointer); //0xfffffffffffed211
39
+ return 0;
40
+ }
41
+
42
+ ```
43
+
44
+ 00007FFFFFFED210-00007FFFFFFED211
45
+
46
+ うーん、再現しませんねー