言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。

C言語辞典

  1. トップページ
  2. C言語辞典
  3. 【環境構築】C言語の開発環境

【環境構築】C言語の開発環境

C言語でプログラムを書いて実行するには、コンパイラ(ソースコードを実行ファイルに変換するツール)が必要です。ここでは Windows と macOS それぞれの環境構築手順を説明します。

Windows での環境構築

Windows で C言語を使うには、以下のいずれかの方法があります。

方法概要
MinGW(gcc)軽量なコンパイラです。コマンドラインで手軽にコンパイル・実行できます。
Visual StudioMicrosoft の統合開発環境です。大規模な開発にも対応しています。

MinGW のインストール

MinGW は GCC(GNU Compiler Collection)を Windows で使えるようにしたツールです。

  1. mingw-w64.org からインストーラをダウンロードします。
  2. インストール後、環境変数『PATH』に MinGW の『bin』フォルダを追加します。
  3. コマンドプロンプトで以下を実行して、インストールを確認します。
gcc --version

バージョン情報が表示されれば、インストールは完了です。

macOS での環境構築

macOS では Xcode Command Line Tools をインストールすると『gcc』や『clang』がすぐに使えます。ターミナルで以下のコマンドを実行してください。

xcode-select --install

ダイアログが表示されたら「インストール」を選択します。完了後、以下のコマンドで確認できます。

gcc --version

コンパイルと実行

C言語のプログラムは「ソースコードを書く → コンパイルする → 実行する」という手順で動かします。

1. ソースファイルを作成します

テキストエディタで『hello.c』というファイルを作成し、以下の内容を書きます。

hello.c
#include <stdio.h>

int main(void) {
    printf("桐生一馬\n");
    return 0;
}

2. コンパイルします

ターミナル(またはコマンドプロンプト)で以下を実行します。

gcc hello.c -o hello

『-o hello』は出力ファイル名の指定です。省略すると『a.out』(Windows では『a.exe』)が生成されます。

3. 実行します

macOS / Linux の場合:

./hello

Windows の場合:

hello.exe

『桐生一馬』と表示されれば成功です。

なお、C言語から生成したコンパイル済みのファイルは機械語(CPUが直接実行できるコード)になっているため、インタプリタ(実行時にコードを解釈するプログラム)を通す必要がありません。Pythonの『python3 ファイル名』やNode.jsの『node ファイル名』のようにコマンド名を付けずに、直接実行するものとなっています。昨今ではインタプリタを通すのが当たり前となってきていますが、ここは間違えないよう気を付けてください。

少し余談になりますが、インタプリタを通さずそのまま実行できる機械語であるという理由から、C言語で作成したプログラムは他のプログラミング言語とは比べ物にならないほど高速に処理が行われます。Linuxカーネルは今でもほぼC言語のみで作られていますが、これはそういった理由からです。一部Rustが導入されましたが、Linux開発者のリーナス・トーバルズ(Linus Torvalds)さんがなぜ未だにC言語以外を基本的に認めないのか、なぜ30年以上もC言語のみで開発を続けているのか、これはそういう観点からの正しい選択であると管理人は考えています。

よく使うコンパイルオプション

オプション説明
-o ファイル名出力ファイル名を指定します。
-Wallすべての警告を表示します。バグの早期発見に役立ちます。
-gデバッグ情報を付加します。デバッガで実行する際に使います。
-std=c11C11 規格でコンパイルします。使用する規格を明示できます。

警告を有効にしてコンパイルする例です。

gcc -Wall hello.c -o hello

初心者のうちは『-Wall』を常に付けてコンパイルすることをおすすめします。警告メッセージがバグの発見を助けてくれます。

コマンドが見つからないとき

ターミナルで『gcc: command not found』と表示される場合は、コンパイラがインストールされていないか、PATH(パス)が通っていない可能性があります。以下の手順で確認・設定してください。

macOS の場合

macOS では Xcode Command Line Tools をインストールすると gcc が使えるようになります。以下のコマンドを実行してください。

xcode-select --install

インストール後に確認します。

gcc --version

Linux / Windows (MinGW) の場合

gcc コマンドの場所を確認します。

which gcc

見つからない場合、よくあるインストール先を確認します。

ls /usr/bin/gcc
ls /usr/local/bin/gcc

コマンドの場所がわかったら、シェルの設定ファイルに PATH を追加します。まず使用しているシェルを確認してください。

echo $SHELL

『/bin/zsh』と表示されたら『~/.zshrc』、『/bin/bash』と表示されたら『~/.bashrc』に設定を書きます。

macOS (zsh) の場合:

echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

Linux (bash) の場合:

echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Windows(MinGW)の場合は「システムの詳細設定」→「環境変数」→「Path」に MinGW の『bin』フォルダ(例: 『C:\MinGW\bin』や『C:\mingw-w64\bin』)を追加します。

おすすめのテキストエディタ

C言語開発に便利なテキストエディタ・IDEを紹介します。どれも無料で使えます(秀丸エディタのみシェアウェア、CLionは有料)。

ツール特徴
VSCode現在最も人気のあるエディタです。C/C++ 拡張機能をインストールすると、コード補完・デバッグ・エラー検出などが使えます。Windows / macOS / Linux 対応。正式名は『Visual Studio Code』。
Sublime Text軽量で動作が非常に速いエディタです。シンプルな画面でコーディングに集中できます。Windows / macOS / Linux 対応。
秀丸エディタ1993年リリース、日本で長年愛されている国産テキストエディタです。動作が軽快でマクロ機能も搭載。Windows 専用・買い切り型。
CLionJetBrains製のC/C++専用IDEです。高度なコード解析・リファクタリング・CMake統合・デバッグ機能を備えています。有料。
Vimターミナル上で動作する高機能エディタです。キーボードだけで高速に操作でき、C言語開発との相性が良いです。無料。

最近では『VSCode』が最も広く使われているらしいのですが、管理人はシンプルかつ軽快に動くエディタが大好物なので現在は『Sublime Text』を愛用しております。良ければ参考にしてやってください。

それと秀丸エディタについて補足をさせてください。秀丸エディタの初リリースは1993年、動作が軽快で正規表現による強力な検索・置換機能を備えており、更に『マクロ』を使って自分好みの設定にすることが可能な本当に素敵なエディタでございます。最近ですと『マクロ』は『アドオン』なんかが該当しますが、なんと1990年代からすでにその機能を実装していたという遙か先の未来を見越したような設計で、そういった面でも大変すばらしいエディタです。

実は管理人もWindows3.1からWindows7頃までずっと秀丸エディタを使ってプログラミングをしていたクチで、長年大変お世話になっておるのでございます。そして開発者の斉藤秀夫さんは未だに秀丸エディタのアップデートを続けており、例えばWindows11、その他64Bit板のWindowsでも問題なく起動させることができます。秀丸エディタはこちらから購入でき、買い切り型で価格も4000円程度、WindowsOSに入れておくと色々と捗るので買っておいて損はないかなと思います。

(´-`).。oO(管理人は昔からお世話になっている秀夫さんを応援したいので、個別にご紹介させて頂きました...)

(´-`).。oO(しかし30年以上使っているのに支払った金額はたった4000円前後...これほどコスパの良いものが他に存在するのかというレベルですね...)

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。