C言語コンパイラと最初のCプログラム

Hello, World! は多くのプログラミング初心者が最初に学ぶサンプルコードです。この例は古典的なC言語の名著『The C Programming Language (Second Edition)』(KR2)の著者が考案したもので、世界中に広まりました。現在でもほとんどすべてのプログラミング言語の入門サンプルとして使われています。

本日はこの定番サンプルを使って、初めてのC言語プログラムを作成しましょう。

C言語のコードを書く前に、まずコンパイラをダウンロードする必要があります。リンク:Download i686-8.1.0-release-win32-sjlj-rt_v6-rev0.7z (MinGW-w64 – for 32 and 64 bit Windows)。そもそもコンパイラとは何か?

コンパイラとは?

コンピューターは2進数の0と1だけを認識し、人間が書いたC/C++、Python、Javaなどのコードを理解できません。コンパイラは一種の翻訳ツールで、人間が読める高級言語のソースコードを一括で、CPUが直接実行可能な機械語(2進数のexe実行ファイル)に変換します。

つまりコンパイラは、人間が記述したC言語コードをコンピューターが解釈できる01の命令列に変換する役割を持ちます。この機械語だけがCPUに実行されます。コンパイラがなければ、C言語のコードは単なるテキストファイルと変わりません。プログラミング言語の本質は対応するコンパイラであり、言語の文法やルールはすべてコンパイラによって実装されています。

上記リンクからWindows向けコンパイラパッケージをダウンロードしてください。補足:Unix系OSはccコンパイラを使用するのに対し、Windows環境ではGCCコンパイラを利用します。

代表的なC言語コンパイラ一覧

1 GCC

正式名称 GNU Compiler Collection。オープンソースで無料、C/C++/Objective-Cなどに対応、Windows/Linux/macOSとクロスプラットフォームで動作します。

MinGW-w64はツールチェイン一式のパッケージで、内部にGCCコンパイラが同梱されています。

2 Clang(LLVM)

LLVMアーキテクチャを基盤に開発され、macOS/iOSの標準コンパイラです。Windowsにもインストール可能です。

3 MSVC

Microsoft Visual C++の略。マイクロソフト純正のWindows向けコンパイラで、Visual Studioに標準搭載。Qt開発環境でも利用できます。

コマンドライン実行ツール:cl.exe

4 Tiny C Compiler

exeファイルを生成せず、Cコードを直接実行可能。スクリプト言語に近い使い方ができます。

その他にもC言語コンパイラは存在しますが、ここでは割愛します。Turbo Cのように現在では廃止された古いコンパイラもあります。

学習初期はMinGW-w64に内蔵されたGCCを推奨、後にMSVCとVisual Studioを使ったC開発に移行できます。

MinGWのインストール手順

上記ダウンロードリンクが無効な場合は、こちらを利用:Download MinGW-w64 – for 32 and 64 bit Windows

ダウンロードした圧縮ファイルを解凍します:

MinGW 解凍後のディレクトリ

中にgcc.exeが入っているのが確認できます。ファイルサイズはわずか1.77MBです。

解凍したフォルダを任意の場所に移動します。例:D:\mingw64(別のドライブ・パスでも構いません)

次に、binフォルダのパスをシステム環境変数Pathに登録します。

  • 「このPC」を右クリック → プロパティ
  • 右側の「システムの詳細設定」→「詳細」タブ
  • 下部の環境変数を開き、「システム変数」内のPathをダブルクリックして編集。「新規」を押し、パス D:\mingw64\bin を貼り付け
  • 開いているすべての設定ウィンドウをOKで保存

注意:D:\mingw64\bin 配下にgcc.exeが存在する必要があります。配布パッケージによっては、内層のbinフォルダにgcc.exeが格納されている場合があるのでパスを確認してください。

GCCのインストール完了確認方法

コマンドプロンプト(CMD)を起動し、以下のコマンドを実行

gcc --version
または
g++ --version

下記のようなバージョン情報が表示されれば正常にインストールできています。

C:\Users\Jack>gcc --version
gcc (i686-win32-sjlj-rev0, Built by MinGW-W64 project) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Code language: CSS (css)
C:\Users\Jack>g++ --version
g++ (i686-win32-sjlj-rev0, Built by MinGW-W64 project) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.Code language: CSS (css)

どちらのコマンドも使用可能です。環境確認完了後、最初のCプログラムを作成します。

Cドライブまたは任意のドライブ直下にcdemoフォルダを作成し、中にテキストファイルを作成してhello.cにリネームします。

メモ帳でhello.cを開き、下記コードを貼り付けます。

#include <stdio.h>

int main()
{
    printf("hello, world\n");
    return 0;
}Code language: C/AL (cal)

CMDを開き、cdコマンドで作成したフォルダに移動します。

GCCのコマンドでコンパイルを実行します。コンパイルとは、ソースコードをコンピューターが理解できる2進数命令に変換する作業のことです。

コンパイル&実行手順

CMDを開き、プログラムのフォルダへ移動

C:\cdemo>gcc hello.cCode language: CSS (css)

このコマンド実行後、画面に何も出力されません。

フォルダ内にa.exeという実行ファイルが自動生成されます。

これがコンパイル完了したプログラムです。実行するには?

a と入力するだけで実行でき、拡張子.exeは省略可能です。

C:\cdemo>a
hello, world
コンパイルから実行までの一連の流れ

出力するexeファイル名を指定する

出力ファイル名を指定しない場合、既定でa.exeとなります。

下記コマンドで任意のexe名を指定できます。

gcc hello.c -o hello.exeCode language: CSS (css)

フォルダを確認するとhello.exeが作成されています。名前は自由に変更可能です。

本講座はここまでです。手順を一通り自分で試し、コンパイラの役割とプログラムの記述・コンパイル・実行の一連の流れを理解しましょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です