このドキュメントの例はすべてブラウザ上でそのまま実行できます - 各インタラクティブブロックは本物の C をコンパイルして実行しています。とはいえ遅かれ早かれ自分のマシンで C を動かしたくなるもので、そのためにはコンパイラ、つまり .c のソースファイルを実行可能ファイルに変えるプログラムが必要です。このページでは主要な各環境にコンパイラを 1 つ入れ、動作を確認します。
入れるべきコンパイラは GCC(GNU Compiler Collection)です。無料で、たいていのチュートリアル・書籍・ビルドスクリプトが前提としており、そのエラーメッセージは他のツールが真似するお手本になっています。macOS では実際には clang を使うことになりますが、Apple がこれを提供し、同じ gcc コマンドの別名にしています - このドキュメントのすべてにおいて両者は同一に振る舞います。
すでに入っているものを確認する
何かをインストールする前に、ターミナル(Windows なら コマンドプロンプトか PowerShell、macOS/Linux なら ターミナル)を開いて次を実行します:
gcc --version
gcc (GCC) 14.2.0 のようなバージョン行が表示されればもう完了です - 最初のプログラムのコンパイルへ進んでください。シェルが「コマンドが見つかりません」と答える(あるいは Windows が Microsoft Store の検索を提案してくる)場合は、以下のご自分の環境の節に従ってください。
Windows: MSYS2 経由の MinGW-w64
Windows には C コンパイラが標準で入っていません。GCC を手に入れる標準的な方法が MinGW-w64 で、そのメンテナンスされた最も簡単な導入方法が MSYS2 ディストリビューションです:
- msys2.org から MSYS2 のインストーラをダウンロードして実行し、既定のフォルダ(
C:\msys64)をそのまま受け入れます。 - インストールが終わったら、スタートメニューから MSYS2 UCRT64 ターミナルを開きます。
- コンパイラのパッケージをインストールします:
pacman -S mingw-w64-ucrt-x86_64-gcc
- どのターミナルからも見つけられるよう、コンパイラを PATH に追加します。設定 → システム → バージョン情報 → システムの詳細設定 → 環境変数 を開き、ユーザーの
Path変数を編集して次を追加します:
C:\msys64\ucrt64\bin
- 新しいコマンドプロンプトを開き(PATH の変更はすでに開いているターミナルには届きません)、確認します:
gcc --version
これでツールチェーン一式です - 必要になれば gdb や make も同じパッケージシステムから入手できます(pacman -S mingw-w64-ucrt-x86_64-gdb make)。
オールインワンの道を好むなら、Visual Studio Community を「C++ によるデスクトップ開発」ワークロード付きでインストールしても完全な C コンパイラ(cl として呼び出す MSVC)が手に入ります。ただしフラグやエラーメッセージは C のチュートリアルが示すものと異なります。C を学ぶなら、MinGW-w64 の gcc が教材と一致します。
macOS: コマンドラインツール
Apple はコマンドラインツールとともに clang を提供しており、1 つのコマンドでインストールできます:
xcode-select --install
ダイアログが表示されるので承認し、ダウンロードが終わるのを待ちます(数分)。Xcode アプリ本体は不要です - コマンドラインツールだけでコンパイラ、make、システムヘッダが含まれています。
確認:
gcc --version
出力には GCC ではなく Apple clang と表示されます - これは想定どおりです。Apple は gcc と cc を clang の別名にしており、標準的な C についてはこのドキュメントのすべてが同じようにコンパイルされます。どうしても本物の GCC が欲しい場合(学習目的ではまれです)、brew install gcc で Apple のツールと並べて gcc-14 として追加できます。
Linux: パッケージマネージャ
たいていのディストリビューションは既定のインストールからコンパイラを外していますが、コマンド 1 つで手に入るようにしてあります。
Debian と Ubuntu(make と標準ヘッダも一緒に入ります):
sudo apt update && sudo apt install build-essential
Fedora:
sudo dnf install gcc
Arch:
sudo pacman -S gcc
上と同じく gcc --version で確認します。
動くことを確かめるために何かコンパイルする
これを hello.c として保存します:
#include <stdio.h>
int main(void) {
printf("こんにちは、C!\n");
return 0;
}
そしてコンパイルして実行します:
gcc hello.c -o hello
./hello
Windows では 2 つ目のコマンドは hello(PowerShell では .\hello)です。ターミナルに こんにちは、C! と表示されれば、ツールチェーンは端から端まで動いています。この 2 つのコマンドが実際に何をしているのか - そして初日から有効にしておく価値のあるフラグ - については、C のコンパイルと実行で扱います。
インストール不要: ブラウザで C を動かす
このドキュメントを読み進めるあいだは、組み込みのエディタが何の設定もなしに C をコンパイルして実行してくれます:
Run を押して試してみてください。どの概念ページにもこうしたブロックがあるので、まず言語を学び、プロジェクトで必要になったときにツールチェーンを整えれば十分です。
よくある質問
どの C コンパイラをインストールすればよいですか?
Windows では(MinGW-w64 経由の)GCC、Linux では(パッケージマネージャ経由の)GCC が標準的な選択です。macOS では Apple が clang を提供し、gcc コマンドの別名にしています - 標準的な C を同じようにコンパイルするので、チュートリアルのコマンドはそのまま動きます。
Windows に GCC をインストールするには?
MinGW-w64 を入れます。最も簡単なのは MSYS2 経由です: msys2.org から MSYS2 をインストールし、UCRT64 ターミナルを開き、pacman -S mingw-w64-ucrt-x86_64-gcc を実行して、ucrt64\bin フォルダを PATH に追加します。あとは新しいターミナルで gcc --version を実行すれば動作を確認できます。
Mac で C を動かすのに何かインストールが必要ですか?
コマンドラインツールだけです。ターミナルで xcode-select --install を実行し、表示されるダイアログを承認してください。これで clang(cc にも gcc にも応答します)、make、システムヘッダがインストールされます。Xcode アプリ本体は不要です。
C コンパイラがすでに入っているか確認するには?
ターミナルを開いて gcc --version(または cc --version)を実行します。バージョン番号が表示されればすでにコンパイラがあるので、そのままコンパイルに進めます。コマンドが見つからない場合は、まずご自分の環境用のものをインストールしてください。