C言語
組み込み向けやゲーム機開発向けのC言語・C++コンパイラ。Classic Mac OS用として発祥、かってはWindows用・BeOS用・Palm用もあった。
MULTICSで作成された高級言語。
C言語を拡張してオブジェクト指向化したもの。C言語に Smalltalk のオブジェクトシステムを取り付けたような設計で、互換性は保たれている。C言語からの拡張部分がC++と干渉しないため、C++と混在した記述が可能。
プログラムの実行に必要とするハードウェア資源が、アセンブラよりは多いが他の高級言語より少なくてすむため、現在さまざまな電化製品などの組み込みシステムでも使用されている。
組み込み向けの場合は、プログラミング言語として、アセンブラ以外ではCとC++しか用意されていないことがある。その場合、他のプログラミング言語は、CやC++で書かれた処理系が存在すればコンパイルすることにより利用可能となることもあるが、メモリ制約などで動作しないことがある。
ANSI/ISOにより規格が標準化された後は言語仕様の変化が小さく安定していること、C言語のプログラマ人口やコード資産が多いこと、C++やObjective-CからC言語関数を直接利用できること、また必要に応じて他のプログラミング言語からC言語関数を呼び出すためのバインディングを記述することが容易であることなどから、APIの外部仕様としてC言語の関数インターフェイスが選ばれることが多い。例えばOpenGLやOpenCLのようなオープン規格は第一級言語としてC言語を採用している。
↑ ポインター・エイリアシングとベクトル化 | iSUS
↑ もう一度基礎からC言語 第19回 いろいろな演算子~ビット演算子 Cは高級アセンブラ?
↑ 第1回 Chapter 1 C言語の概要(1):Cプログラミング入門|gihyo.jp ... 技術評論社
↑ ISO/IEC 14882:2003 §3.6.1 「The function main shall not be used within a program.」
↑ JIS X 3014:2003「プログラム言語C++」(日本産業標準調査会、経済産業省) §3.6.1 「関数mainは、プログラムの中で挙用してはならない。」
↑ EXP33-C. 未初期化のメモリを参照しない JPCERT/CC、2014年3月25日(2014年8月22日閲覧)。
↑ “Memory Allocation Guide”. The Linux Kernel documentation. 2023年11月8日閲覧。
↑ main 関数 - cppreference.com
↑ [Python入門]Pythonってどんな言語なの?:Python入門(1/2 ページ) - @IT
8ビット・マイクロプロセッサMC6809用C言語サブセット・コンパイラ。