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

回答編集履歴

1

補足の記述追加

2026/04/26 14:36

投稿

otn
otn

スコア86640

answer CHANGED
@@ -14,7 +14,7 @@
14
14
  ということなので、「CPythonに限らず、どの処理系でも動くPythonプログラムを書きたい」と思えば公式リファレンスだけ見ていてはだめだということです。まあそんなことをしたいと思う人はあまりいないでしょうが。
15
15
  「この仕様書の通りに書けばどの処理系でも動くPythonプログラムになる」という仕様を新たに定めればおそらくCの「未定義」「処理系定義」に相当する記述を使うことになるでしょうね。(他の処理系のことをよく知らずに書いているので「おそらく」ですが)
16
16
 
17
- Cは、元々はDEC社のミニコンで開発された言語ですが、その後広く使われるようになり、メインフレームコンピューターや、組み込みマイコンなどでも使われているので、処理系が非常にたくさんあります。処理系作成者に対して「この部分は作りやすいように処理系仕様を自由に作っていいよ」というのが、「未定義の動作」「処理系定義の動作」「未規定の動作」です。
17
+ Cは、元々はDEC社のミニコンで開発された言語ですが、その後広く使われるようになり、メインフレームコンピューターや、組み込みマイコンなどでも使われているので、処理系が非常にたくさんあります。処理系作成者に対して「この部分は作りやすいように処理系仕様を自由に作っていいよ」というのが、「未定義の動作」「処理系定義の動作」「未規定の動作」です。昔のRAMが16KB、32KBとかの8bitパソコンで処理系が動いたりするには自由度は大きい方がいい。今の組み込み系はコンパイルはパソコンなどでやっているのでしょうけど、コンパイル後のプログラムサイズの制約がきついのは同じでしょう。
18
18
  もし、PythonのようにCの処理系が実質ほとんど1つしかないのであれば、その処理系のリファレンスマニュアルに従って書けばいいので、明示的な「未定義」などは出てきません。
19
19
 
20
20
  JISのCの規格書には、