C言語を救うにはABIを守れ
To Save C, We Must Save ABI

C言語のABI(アプリケーション・バイナリ・インターフェース)は、関数の引数や戻り値の受け渡し方法を固定するため、型の変更がバイナリ互換性を壊す。この記事では、long longから__int128_tへの変更が実際にどのようにABIを破壊するかを具体例で示し、C++の名前マングリングとの違いを解説。著者はABI安定性に批判的だが、Cを救うにはABIを守る必要があると主張する。
コンパイラは、あなたに代わって、他のコンパイラや他のマシンと契約を結んでいるのです。これがアプリケーション・バイナリ・インターフェースです。