C言語：未定義、未規定、処理系定義, coding(25)

C言語を習得する３つの方法
https://qiita.com/kaizen_nagoya/items/84cab0888c193bba429b

C言語(C++)が必要な人と必要ない人
https://qiita.com/kaizen_nagoya/items/2afe9e846b55b24cb6f1

C言語(C++)が必要な人 参考記事一覧
https://qiita.com/kaizen_nagoya/items/0c18c12005f6dcede876

Cの原則
https://qiita.com/kaizen_nagoya/items/3be2055408d04b6e9bd8

Cの精神とCの原則：C言語がわかるとは
https://qiita.com/kaizen_nagoya/items/d2a24a41f00c939c5e70

「本物のC」は「Cの精神」と 「freestanding と hosted」と「未定義、未規定、処理系定義」
https://qiita.com/kaizen_nagoya/items/11d66a02479239bf80dd

C言語：未定義、未規定、処理系定義, coding(25)
https://qiita.com/kaizen_nagoya/items/f416efd38aaaec7f8230

C/C++(77)の国際規格案の例題をコンパイルするときの課題７つ。
https://qiita.com/kaizen_nagoya/items/5f4b155030259497c4de

# Related article

最適化バグですか？ いいえ未定義の挙動です。
https://qiita.com/yoh2/items/489d8749e196e9092349

「Cは超高級アセンブラ？」の「未定義動作」に対する逃げ道の探索
https://qiita.com/int_main_void/items/a5524c2c03eb901cf34e

a=aは未定義動作になりうるか?
https://qiita.com/amama/items/aa47f2a61c1a59eb910e
>6.5.16 paragraph 3より，左辺値への代入は副作用を含み，その副作用は右のオペランドと左のオペランドを評価したあとに行われ，左右のオペランドの評価の順序はunsequencedである(定義されない？でいいのか)．

unspecifiedは、定義があります。
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3435.pdf
>3.5.4 unspecified behavior
behavior, that results from the use of an unspecified value, or other behavior upon which this document provides two or more possibilities and imposes no further requirements on which is chosen in any instance

JISでは、未規定

ちなみに、未定義も定義があります。というか、未定義を定義しているところがC言語のCPU発展を妨げないための鍵。

>3.5.3
1 undefined behavior
behavior, upon use of a nonportable or erroneous program construct or of erroneous data, for which this document imposes no requirements


Cの未規定動作とあそぼう
https://rsk0315.hatenablog.com/entry/2025/02/25/200958

<この項は書きかけです。順次追記します。>
This article is not completed. I will add some words in order.
# 法律
## 法律と慣習
### 憲法
 憲法
https://elaws.e-gov.go.jp/document?lawid=321CONSTITUTION

>第十二条　この憲法が国民に保障する自由及び権利は、国民の不断の努力によつて、これを保持しなければならない。又、国民は、これを濫用してはならないのであつて、常に公共の福祉のためにこれを利用する責任を負ふ。

### 民法
 民法
https://elaws.e-gov.go.jp/document?lawid=129AC0000000089

>（任意規定と異なる慣習）
第九十二条　法令中の公の秩序に関しない規定と異なる慣習がある場合において、法律行為の当事者がその慣習による意思を有しているものと認められるときは、その慣習に従う。

### 法の適用に関する通則法
（旧　法例）
https://elaws.e-gov.go.jp/document?lawid=418AC0000000078_20150801_000000000000000

>（法律と同一の効力を有する慣習）
第三条　公の秩序又は善良の風俗に反しない慣習は、法令の規定により認められたもの又は法令に規定されていない事項に関するものに限り、法律と同一の効力を有する。

### 商法
商法
https://elaws.e-gov.go.jp/document?lawid=132AC0000000048

>（趣旨等）
第一条　商人の営業、商行為その他商事については、他の法律に特別の定めがあるものを除くほか、この法律の定めるところによる。
２　商事に関し、この法律に定めがない事項については商慣習に従い、商慣習がないときは、民法（明治二十九年法律第八十九号）の定めるところによる。

法律は、規定がない場合は慣習に従うこと、慣習が法律と同一の効力を有することを宣言している。

##  法律と規格
### WTO/TBT協定
WTO(world trade organization:国際貿易機構）/TBT(TECHNICAL BARRIERS TO TRADE:貿易の技術的障害に関する)協定
https://www.mofa.go.jp/mofaj/ecm/it/page25_000410.html#section9

>加盟国は、強制規格を必要とする場合において、関連する国際規格が存在するとき又はその仕上がりが目前であるときは、当該国際規格又はその関連部分を強制規格の基礎として用いる。ただし、気候上の又は地理的な基本的要因、基本的な技術上の問題等の理由により、当該国際規格又はその関連部分が、追求される正当な目的を達成する方法として効果的でなく又は適当でない場合は、この限りでない。

### 産業標準化法
産業標準化法
https://elaws.e-gov.go.jp/document?lawid=324AC0000000185

>（日本産業規格の尊重）
第六十九条　国及び地方公共団体は、鉱工業に関する技術上の基準を定めるとき、その買い入れる鉱工業品に関する仕様を定めるときその他その事務を処理するに当たつて第二条第一項各号に掲げる事項に関し一定の基準を定めるときは、日本産業規格を尊重してこれをしなければならない。
（産業標準化及び国際標準化の促進）
第七十条　国は、産業標準の制定及び普及、国際標準に関する国際団体その他の国際的な枠組みへの協力並びに産業標準化及び国際標準化に関する業務に従事する者への支援を通じて、産業標準化及び国際標準化の促進に努めるものとする。
２　国立研究開発法人（独立行政法人通則法（平成十一年法律第百三号）第二条第三項に規定する国立研究開発法人をいう。第四項において同じ。）及び大学は、民間事業者と連携しつつ、産業標準化に資する研究開発、国際標準に関する国際団体その他の国際的な枠組みへの協力及びその他の産業標準化又は国際標準化に関する活動に主体的に取り組むよう努めるとともに、産業標準化又は国際標準化に関する業務に従事する者の職務がその重要性にふさわしい魅力あるものとなるよう、産業標準化又は国際標準化に関する業務に従事する者の適切な処遇の確保に努めるものとする。
３　事業者は、産業標準化に資する研究開発、国際標準に関する国際団体その他の国際的な枠組みへの協力及びその他の産業標準化又は国際標準化に関する活動に主体的に取り組むよう努めるとともに、産業標準化又は国際標準化に関する業務に従事する者の職務がその重要性にふさわしい魅力あるものとなるよう、産業標準化又は国際標準化に関する業務に従事する者の適切な処遇の確保に努めるものとする。

日本工業規格JIS Z8301：2008規格票の様式及び作成方法
http://kikakurui.com/z8/Z8301-2011-01.html

JIS等原案作成マニュアル - JISC 日本工業標準調査会
http://www.jisc.go.jp/jis-act/pdf/jis-manual.pdf

# C言語
C言語は、CPUの発展のために規定しないことを高らかに歌っており、慣習が過去に対するものであるのに対して、未来に対して新たな技術の発展を阻害しないことを歌っている。

C - Project status and milestones
http://www.open-std.org/jtc1/sc22/wg14/www/projects

C言語規格を審議しているISO/IEC JTC1 SC22 WG14は、審議中の文書を公開している。

N2596(C2xの案）
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2596.pdf

私は、ISO/IEC JTC1 SC7からISO/IEC JTC1 SC22へのliaisonとして, IEEEのJim Moorと連絡担当をしていたことがある。

今は、MISRAがLiaisonとして毎回報告を出している。

## hosted and freestanding
### Conformance

> # 4. Conformance
6 The two forms of conforming implementation are hosted and freestanding. A conforming hosted implementation shall accept any strictly conforming program. A conforming freestanding implemen- tation shall accept any strictly conforming program in which the use of the features specified in the library clause (Clause 7) is confined to the contents of the standard headers <float.h>,
<iso646.h>, <limits.h>, <stdalign.h>, <stdarg.h>, <stdbool.h>, <stddef.h>, <stdint.h>, and <stdnoreturn.h>. A conforming implementation may have extensions (including additional library functions), provided they do not alter the behavior of any strictly conforming program.4)
7 The strictly conforming programs that shall be accepted by a conforming freestanding implementa- tion that defines __STDC_IEC_60559_BFP__ or __STDC_IEC_60559_DFP__ may also use features in the contents of the standard headers <fenv.h> and <math.h> and the numeric conversion functions (7.22.1) of the standard header <stdlib.h>. All identifiers that are reserved when <stdlib.h> is included in a hosted implementation are reserved when it is included in a freestanding implementa- tion.
8 A conforming program is one that is acceptable to a conforming implementation.5)
9 An implementation shall be accompanied by a document that defines all implementation-defined
and locale-specific characteristics and all extensions.


### Environment

>5.1.2 Execution environments
1 Two execution environments are defined: freestanding and hosted. In both cases, program startup occurs when a designated C function is called by the execution environment. All objects with static storage duration shall be initialized (set to their initial values) before program startup. The manner and timing of such initialization are otherwise unspecified. Program termination returns control to the execution environment.

##### Freestanding environment

>5.1.2.1 Freestanding environment
1 In a freestanding environment (in which C program execution may take place without any ben- efit of an operating system), the name and type of the function called at program startup are implementation-defined. Any library facilities available to a freestanding program, other than the minimal set required by Clause 4, are implementation-defined.
2 The effect of program termination in a freestanding environment is implementation-defined.

##### Hosted environment

>5.1.2.2 Hosted environment
1 A hosted environment need not be provided, but shall conform to the following specifications if present.

# 参照
MISRA C まとめ #include <misra_c.h>
https://qiita.com/kaizen_nagoya/items/f1a79a7cbd281607c7c9

MISRA-C 2012 Referenceに掲載している文献の入手可能性を確認
https://qiita.com/kaizen_nagoya/items/96dc8b125e462d5575bb

C Puzzle Bookの有り難み5つ、C言語規格及びCコンパイラの特性を認識
https://qiita.com/kaizen_nagoya/items/d89a48c1536a02ecdec9

[C][C++]の国際規格案の例題をコンパイルするときの課題７つ。
https://qiita.com/kaizen_nagoya/items/5f4b155030259497c4de

どうやって MISRA C Example Suiteをコンパイルするか
https://qiita.com/kaizen_nagoya/items/fbdbff5ff696e2ca7f00

C言語（C++)に対する誤解、曲解、無理解、爽快。
https://qiita.com/kaizen_nagoya/items/3f3992c9722c1cee2e3a

心理学の本を読むよりはコンパイラ書いた方がよくね。仮説（34）
https://qiita.com/kaizen_nagoya/items/fa715732cc148e48880e

コンパイラを書くのは難しいか。仮説（175）
https://qiita.com/kaizen_nagoya/items/a87c65d487bc7a67da11

C Puzzle Bookの有り難み5つ、C言語規格及びCコンパイラの特性を認識
https://qiita.com/kaizen_nagoya/items/d89a48c1536a02ecdec9

プログラミング言語教育のXYZ
https://qiita.com/kaizen_nagoya/items/1950c5810fb5c0b07be4

 国際規格を読む前に
https://qiita.com/kaizen_nagoya/items/3917eb7b7c3a3a3cb4e0

国際規格のNormative Reference
https://qiita.com/kaizen_nagoya/items/b94b6055997119ac2d9a

プログラマが知っているとよいかもしれない法律1000を目標に収集中。
https://qiita.com/kaizen_nagoya/items/eeffde5e7ee049f0adeb

C言語：未定義、未規定、処理系定義
https://qiita.com/kaizen_nagoya/items/f416efd38aaaec7f8230

権利と義務の前に。仮説（147）
https://qiita.com/kaizen_nagoya/items/47d4e992d0fd340403fd

「本物のC」は「Cの精神」と 「freestanding と hosted」と「未定義、未規定、処理系定義」https://qiita.com/kaizen_nagoya/items/11d66a02479239bf80dd

The C++ Standard Library: clang++とg++でコンパイルしてみた(まとめ):14件
https://qiita.com/kaizen_nagoya/items/9bdfaa392443d13e5759

C++17 - The Complete Guide clang++とg++でコンパイルしてみた(まとめ):4件
https://qiita.com/kaizen_nagoya/items/c000f307e642990781e1

C++N3242, 2011, ISO/IEC 14882, C++ standard(1) Example code compile list
https://qiita.com/kaizen_nagoya/items/685b5c1a2c17c1bf1318

C++N4606 Working Draft 2016, ISO/IEC 14882, C++ standard(1) Example code compile list
https://qiita.com/kaizen_nagoya/items/df5d62c35bd6ed1c3d43/

C++N4741, 2018 Standard Working Draft on ISO/IEC 14882 sample code compile list
https://qiita.com/kaizen_nagoya/items/3294c014044550896010

C++N4910:2022 Standard Working Draft on ISO/IEC 14882(0) sample code compile list
https://qiita.com/kaizen_nagoya/items/fc957ddddd402004bb91

Autosar Guidelines C++14 example code compile list(1-169)
https://qiita.com/kaizen_nagoya/items/8ccbf6675c3494d57a76

# 関連資料
' @kazuo_reve 私が効果を確認した「小川メソッド」
https://qiita.com/kazuo_reve/items/a3ea1d9171deeccc04da

' @kazuo_reve 新人の方によく展開している有益な情報
https://qiita.com/kazuo_reve/items/d1a3f0ee48e24bba38f1

' @kazuo_reve Vモデルについて勘違いしていたと思ったこと
https://qiita.com/kazuo_reve/items/46fddb094563bd9b2e1e
## 自己記事一覧
プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

逆も真：社会人が最初に確かめるとよいこと。OSEK(69)、Ethernet(59)
https://qiita.com/kaizen_nagoya/items/39afe4a728a31b903ddc

「何を」よりも「誰を」。１０年後のために今見習いたい人たち
https://qiita.com/kaizen_nagoya/items/8045978b16eb49d572b2

Qiitaの記事に３段階または５段階で到達するための方法
https://qiita.com/kaizen_nagoya/items/6e9298296852325adc5e

物理記事　上位100
https://qiita.com/kaizen_nagoya/items/66e90fe31fbe3facc6ff

量子(0) 計算機, 量子力学 
https://qiita.com/kaizen_nagoya/items/1cd954cb0eed92879fd4

数学関連記事１００
https://qiita.com/kaizen_nagoya/items/d8dadb49a6397e854c6d

統計(0)一覧
https://qiita.com/kaizen_nagoya/items/80d3b221807e53e88aba

図(0) state, sequence and timing. UML and お絵描き 
https://qiita.com/kaizen_nagoya/items/60440a882146aeee9e8f

品質一覧 
https://qiita.com/kaizen_nagoya/items/2b99b8e9db6d94b2e971

言語・文学記事　１００
https://qiita.com/kaizen_nagoya/items/42d58d5ef7fb53c407d6

医工連携関連記事一覧
https://qiita.com/kaizen_nagoya/items/6ab51c12ba51bc260a82

自動車　記事　１００
https://qiita.com/kaizen_nagoya/items/f7f0b9ab36569ad409c5

通信記事１００
https://qiita.com/kaizen_nagoya/items/1d67de5e1cd207b05ef7

日本語（０）一欄
https://qiita.com/kaizen_nagoya/items/7498dcfa3a9ba7fd1e68

英語(0) 一覧
https://qiita.com/kaizen_nagoya/items/680e3f5cbf9430486c7d

転職(0)一覧
https://qiita.com/kaizen_nagoya/items/f77520d378d33451d6fe

仮説（0）一覧（目標100現在40）
https://qiita.com/kaizen_nagoya/items/f000506fe1837b3590df

音楽　一覧(0) 
https://qiita.com/kaizen_nagoya/items/b6e5f42bbfe3bbe40f5d

「@kazuo_reve 新人の方によく展開している有益な情報」確認一覧 
https://qiita.com/kaizen_nagoya/items/b9380888d1e5a042646b

Qiita(0)Qiita関連記事一覧（自分）
https://qiita.com/kaizen_nagoya/items/58db5fbf036b28e9dfa6

鉄道（０）鉄道のシステム考察はてっちゃんがてつだってくれる
https://qiita.com/kaizen_nagoya/items/26bda595f341a27901a0

安全（0）安全工学シンポジウムに向けて: 21
https://qiita.com/kaizen_nagoya/items/c5d78f3def8195cb2409

一覧の一覧( The directory of directories of mine.) Qiita(100)
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39

Ethernet 記事一覧　Ethernet(0)
https://qiita.com/kaizen_nagoya/items/88d35e99f74aefc98794

Wireshark 一覧 wireshark(0)、Ethernet(48) 
https://qiita.com/kaizen_nagoya/items/fbed841f61875c4731d0

線網（Wi-Fi）空中線(antenna)(0) 記事一覧(118/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001

OSEK OS設計の基礎　OSEK(100)
https://qiita.com/kaizen_nagoya/items/7528a22a14242d2d58a3

Error一覧 error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8

++ Support(0)　
https://qiita.com/kaizen_nagoya/items/8720d26f762369a80514

Coding(0) Rules, C, Secure, MISRA and so on
https://qiita.com/kaizen_nagoya/items/400725644a8a0e90fbb0

coding (101) 一覧を作成し始めた。omake:最近のQiitaで表示しない5つの事象
https://qiita.com/kaizen_nagoya/items/20667f09f19598aedb68

プログラマによる、プログラマのための、統計(0)と確率のプログラミングとその後
https://qiita.com/kaizen_nagoya/items/6e9897eb641268766909

なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2

言語処理100本ノックをdockerで。python覚えるのに最適。:10+12
https://qiita.com/kaizen_nagoya/items/7e7eb7c543e0c18438c4

プログラムちょい替え（0）一覧:4件
https://qiita.com/kaizen_nagoya/items/296d87ef4bfd516bc394

Python(0)記事をまとめたい。
https://qiita.com/kaizen_nagoya/items/088c57d70ab6904ebb53

官公庁・学校・公的団体（NPOを含む）システムの課題、官（０）
https://qiita.com/kaizen_nagoya/items/04ee6eaf7ec13d3af4c3

「はじめての」シリーズ　 ベクタージャパン　
https://qiita.com/kaizen_nagoya/items/2e41634f6e21a3cf74eb

AUTOSAR(0)Qiita記事一覧, OSEK(75)
https://qiita.com/kaizen_nagoya/items/89c07961b59a8754c869

プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

LaTeX(0) 一覧　
https://qiita.com/kaizen_nagoya/items/e3f7dafacab58c499792

自動制御、制御工学一覧（０）
https://qiita.com/kaizen_nagoya/items/7767a4e19a6ae1479e6b

Rust(0) 一覧　
https://qiita.com/kaizen_nagoya/items/5e8bb080ba6ca0281927

100以上いいねをいただいた記事16選
https://qiita.com/kaizen_nagoya/items/f8d958d9084ffbd15d2a

小川清最終講義、最終講義（再）計画, Ethernet(100) 英語(100) 安全(100)
https://qiita.com/kaizen_nagoya/items/e2df642e3951e35e6a53

 ＜この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。＞
This article is an individual impression based on the individual's experience. It has nothing to do with the organization or business to which I currently belong.
### 文書履歴(document history)
ver. 0.01 初稿　　20230729
ver. 0.02 URL追記 20240412
### 最後までおよみいただきありがとうございました。
いいね　💚、フォローをお願いします。
#### Thank you very much for reading to the last sentence.
Please press the like icon 💚　and follow me for your happy life.