プログラミング初心者向け!C/C++ のシンプルな開発環境を構築する

Windows に MinGW-w64 をインストールして、コマンドラインからプログラムを実行するシンプルな C/C++ プログラミング環境を構築します。

一般的に、規模の大きな開発を行う際は統合開発環境を用いますが、文法上の簡単な動作確認やデバックのための比較実験などには、コマンドラインから直接実行する方がお手軽で便利な場合もあります。

また、C/C++ の初学者が参考書のサンプルコード等を実行する際にも役立ちます。

統合開発環境との比較

ある程度規模の大きな開発には Visual StudioEclipse などの統合開発環境(IDE: Integrated Development Environment)を利用します。

しかし、実験的かつ簡易的なプログラムを実行するようなユースケースでは推奨されません。

なぜなら、IDE はプロジェクトを単位として扱う前提があるからです。

一般的なソフトウェア開発には、ソースコードや各種設定ファイルをはじめ、画像や音楽などのアセットが必要であり、IDE は複数リソースをプロジェクトとして一括管理します。

したがって、数十行で完結する簡単なプログラムを記述して実行する場合にも IDE を利用すると、初期設定を行う必要があったり、不要なディレクトを含む階層構造が用意されたりと、手間がかかる上に管理の煩雑度も上がります。

このとき、コマンドラインからスマートにプログラムの実行が可能な開発環境は重宝されます。

MinGW-w64

MinGW(Minimalist GNU for Windows)は、Windows で利用可能な GNU ツールです。

Windows アプリケーションの開発と実行に必要なフリーコンパイラの GCC を提供しており、gccg++をはじめ、Windows API 対応のヘッダファイルなどの各種ツールを備えています。

MinGW-w64 は、オリジナルプロジェクトの MinGW から派生した拡張プロジェクトです。

MinGW は 32 bit 環境のみに対応していましたが、2007 年にフォークされた MinGW-w64 は、64 bit 環境にも対応可能であり、新たな API も追加されています。

現在、MinGW-w64 を用いた開発は活発化しており、著名かつ様々なソフトウェアで用いられています。

開発者コミュニティも盛んで、トラブルシューティングも比較的容易です。

セットアップ

MinGW-w64 のインストールを行い、環境変数の設定を行います。

インストール

インストーラのダウンロードと実行
  1. 「公式サイト」へアクセス
  2. 目次の「Mingw-builds」をクリック
  3. Installation の「Sourceforge」をクリック(自動ダウンロード開始)
  4. ダウンロードした「mingw-w64-install.exe」をダブルクリックで実行
目次の「Mingw-builds」をクリック
Installation の「Sourceforge」をクリック
インストールの設定

必要に応じてパラメータを変更し、インストール設定を行います。

設定項目の概要とパラメータは下表の通りです。

設定項目 設定内容 パラメータ
Version GCC バージョン 利用したいバージョンを指定
Architecture OS ビットバージョン OS の種類に合わせて選択
・「x86_64」: 64 bit
・「i686」: 32 bit
Threads スレッドの規格 ・「posix」: Unix / Linux / Windows をサポート
・「win32」: Win32 をサポート
Exception 例外処理の方法 ・「dwarf」: 32 bit バイナリのみサポート
・「sjlj」: C++ 標準ライブラリによる例外処理
・「seh」: Windows 特化の例外処理
Build revision ビルドリビジョン番号 最新版を選択

当環境でのパラメータは下記の通りです。

当環境におけるパラメータ
インストールフォルダの設定

インストール先を必要に応じて変更します。

ここでは、C:\Program Files\mingw-w64としました。

環境変数の設定時に利用するため、パスをメモしておきます。

インストールフォルダの設定
インストールの完了確認

インストールの完了を確認した後、「Finish」をクリックしてクローズします。

インストール完了後に「Finish」でクローズ

これでインストールは完了です。

環境変数の設定

MinGW-w64 におけるコンパイラの実行可能ファイル (*.exe) が含まれるディレクトリまでのパスをユーザ環境変数「Path」に設定します。

インストール先はC:\Program Files\mingw-w64であり、実行可能ファイルがある「bin」までのパスは、C:\Program Files\mingw-w64\mingw64\binになります。

ユーザ環境変数「Path」の設定は下記を参照ください。

「環境変数」のパネルを起動

タスクバーの検索欄に環境変数を編集と入力することで、環境変数の編集パネルを検索し、起動することができます。

タスクバーの検索欄に環境変数を編集と入力
環境変数の編集
  1. 「ユーザ環境変数」の Path をダブルクリック
  2. 新規をクリック
  3. C:\Program Files\mingw-w64\mingw64\bin を登録
  4. 開いている全パネルの OK をクリックしてクローズ
Path をダブルクリック
新規をクリック
C:\Program Files\mingw-w64\mingw64\binを登録
MEMO

ユーザ環境変数欄に「Path」変数がない場合は「新規」から「変数名」に「Path」を追加して「変数値」にパスを登録

設定は以上になりますので、ウィンドウを閉じて構いません。

環境変数の詳細は下記リンクを参照ください。

ゼロから理解する! Windows の環境変数 Path と設定方法

動作確認

コマンドプロンプトに下記コマンドを入力して、コンパイラのバージョンが表示されれば、環境変数が正しく反映されています。

gcc --version

または、下記コマンドでも確認可能です。

g++ --version

コマンドプロンプトは、タスクバーの検索欄か、Windows + r で起動した「ファイル名を指定して実行」のダイアログに、cmd と入力して起動します。

環境変数の反映を確認

コンパイラの基本コマンド

言語に対応するファイル拡張子とコマンドは下記の通りです。

言語 ファイルの拡張子 コマンド
C *.c gcc
C++ *.cpp g++

gcc / g++ を用いたコマンドの基本形式は下記の通りです。

gcc の場合
gcc <options> <sourcefile>
g++ の場合
g++ <options> <sourcefile>

オプションは、下記コマンドを入力することで一覧表示させることができます。

下記は g++ の場合で、gcc も同様です。

g++ --help
g++ --help でオプションを一覧表示

最低限必要なオプションは、出力ファイル (*.exe) の名前を指定する-oかと思います。

下記は g++ の場合で、gcc も同様です。

g++ <sourcefile> -o <output>

プログラムの実行

お馴染みの挨拶を標準するプログラムを作成し、コマンドプロンプトから実行します。

事前準備
テキストエディタのインストール

コーディングに便利なエディタを用意します。

高機能なプラグインが豊富に用意されており、カスタマイズ性が高く、使い勝手が良い有名なテキストエディタを 3 つ挙げます。

テキストエディタ 提供元
Visual Studio Code Microsoft
Atom GitHub
Brackets Adobe

基本的に無料で、インストールしたら直ぐに利用可能です。

Windows の「メモ帳」でもプログラムの記述は可能ですが、自動補完やハイライト表示、キーバインドなど、開発スピードを向上させる各種機能を持つテキストエディタは必須アイテムです。

プログラムの作成’

下記プログラムをテキストエディタ等で記述し、hello.cpp として任意のディレクトリに保存します。

ここでは、C:\Users\CHAM\Documents\demo に保存します。

#include <iostream>
using namespace std;

int main() {
    cout << "Hello World!" << endl;
    return 0;
}
プログラムの保存先に移動

コマンドプロンプトを起動し、hello.cpp が存在するディレクトリに移動します。

hello.cpp のディレクトリへ移動

エクスプローラのアドレスバーからフルパスをコピーしてコマンド入力することも可能です。

アドレスバーからフルパスをコピー
フルパスを指定して移動
コンパイル

実行可能ファイル名を hello と指定してコンパイルします。

hello.cpp のコンパイル

コンパイルが完了すると、同じディレクトリに hello.exe という実行可能ファイルが出力されます。

実行

実行可能ファイル名をコマンドとして入力することで実行します。

hello.exe の実行

以上が実行フローになります。

おすすめの技術書

C/C++ の初心者向けの入門書を紹介します。

数ある技術書の中から 5 冊ピックアップしました。

評価や知名度も高く、効率良く学習できる有益な書籍です。

文系出身者をはじめとする、非エンジニアの社員を対象とした勉強会等でも利用しています。

スッキリわかるC言語入門

「スッキリわかる入門シリーズ」の C 言語編です。

基本的な知識と文法を一通り学ぶことができます。

新人エンジニアと先輩チュータの会話が織り交ぜられた独特の構成であり、初心者ならではの疑問を起点に展開されます。

図解も豊富でイメージしやすく、難所もスムーズに理解することができます。

スッキリわかる C 言語入門

著者 : 亀田 健司 / 出版社 : インプレス

新・明解 C/C++ 言語 入門編

「新・明解シリーズ」における C 言語と C++ 言語の入門編です。

説明の粒度が細かく、基本から応用までの網羅性も高いです。

一般的な技術書では省略される背景知識やテクニックなど、マニアックな情報が満載です。

学生時代の授業やシステム開発にて重宝した技術書の 1 つです。

新・明解 C 言語 入門編

著者 : 柴田 望洋 / 出版社 : SB クリエイティブ

新・明解 C++ 入門編

著者 : 柴田 望洋 / 出版社 : SB クリエイティブ

独習 C++ 新版

「独習シリーズ」の C++ 編です。

システムエンジニアやプログラマからの知名度が高い定番の技術書です。

必要十分かつ実用性の高い情報がバランス良く丁寧に説明されており、とても読みやすいです。

未経験者や新人エンジニアへの研修等でよく利用されています。

辞書としても手元に置いておきたい 1 冊です。

独習 C++ 新版

著者 : 高橋 航平 / 出版社 : 翔泳社

1週間で C++ の基礎が学べる本

「1週間シリーズ」の C++ 編です。

必要なポイントを押さえ、短期間で基礎知識を学び、全体像を把握することができます。

プログラミングを始めたばかりのビギナーが対象であり、サンプルプログラムを通じて基本スキルを身に付けることができます。

本格的な学習を始める前の 1 冊です。

1週間で C++ の基礎が学べる本

著者 : 亀田 健司 / 出版社 : インプレス