回答編集履歴
4
誤字修正
test
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
とあるCの一部のバージョンで、初期化文字列に文字数制限があったことがあります。
|
26
26
|
|
27
|
-
それを超える文字列を使いたいとき、このコンパイラの
|
27
|
+
それを超える文字列を使いたいとき、このコンパイラのchar配列のメモリ配置が連続することを利用して、以下のようなコードを使っていました。
|
28
28
|
|
29
29
|
```C
|
30
30
|
|
3
誤字修正
test
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
とあるCの一部のバージョンで、初期化文字列に文字数制限があったことがあります。
|
26
26
|
|
27
|
-
それを超える文字列を使いたいとき、このコンパイラの固定文字
|
27
|
+
それを超える文字列を使いたいとき、このコンパイラの固定文字列のメモリ配置が連続することを利用して、以下のようなコードを使っていました。
|
28
28
|
|
29
29
|
```C
|
30
30
|
|
2
変更
test
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
余談
|
24
24
|
|
25
|
-
|
25
|
+
とあるCの一部のバージョンで、初期化文字列に文字数制限があったことがあります。
|
26
26
|
|
27
27
|
それを超える文字列を使いたいとき、このコンパイラの固定文字れ鵜のメモリ配置が連続することを利用して、以下のようなコードを使っていました。
|
28
28
|
|
1
余談追加
test
CHANGED
@@ -17,3 +17,27 @@
|
|
17
17
|
```
|
18
18
|
|
19
19
|
コンパイラが、スタック変数に決定した順番で決めていたら、ご提示のような結果になるでしょう。
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
余談
|
24
|
+
|
25
|
+
Lattice Cの一部のバージョンで、初期化文字列に文字数制限があったことがあります。
|
26
|
+
|
27
|
+
それを超える文字列を使いたいとき、このコンパイラの固定文字れ鵜のメモリ配置が連続することを利用して、以下のようなコードを使っていました。
|
28
|
+
|
29
|
+
```C
|
30
|
+
|
31
|
+
int hoge() {
|
32
|
+
|
33
|
+
static char message[20] = "限界までの文字列です";
|
34
|
+
|
35
|
+
static char dummy[] = "追加文字列。";
|
36
|
+
|
37
|
+
message[20] = 0x20;
|
38
|
+
|
39
|
+
}
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
```
|