可搬性と移植性
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/06/05 03:06 UTC 版)
C言語規格では、ソフトウェアをCPUやオペレーティングシステム (OS) の種類にかかわらず移植できるようにするために、言語規格ではあえて厳密に仕様を定めず、処理系定義 (implementation-defined)、未定義 (undefined)、未規定 (unspecified) の動作 (behavior) など、CPU/OSおよびコンパイラごとに取り決めをする事項が多い。たとえば代表的なものとして組み込み整数型のサイズの規定や、関数引数の評価順序などが含まれる。そのため、移植性を考慮せずにプログラムが記述された場合、あるCPU/OS向けのC言語プログラムが、他のCPU/OSでは異なる結果を出すことがしばしばある。The C Puzzle Book (Cパズルブック) 、C Traps and Pitfalls (Cプログラミングの落とし穴) というベル研究所 (Bell研) の著者が書いた本に掲載のプログラムを実行してみるとよくわかる。
※この「可搬性と移植性」の解説は、「MISRA C」の解説の一部です。
「可搬性と移植性」を含む「MISRA C」の記事については、「MISRA C」の概要を参照ください。
- 可搬性と移植性のページへのリンク