制作日:2024年7月28日

C/C++言語の環境構築について

目次

c/c++言語とはどのような言語か

c言語は
汎用性が高く、高速なプログラムが作成できるプログラミング言語で

HelloWorld!! の出力例

#include <stdio.h>
int main(void)
{
    printf("HelloWorld!!\n");
    return 0;
}

c++言語は
C言語をベースにオブジェクト指向などを取り入れたプログラミング言語です

HelloWorld!! の出力例

#include <iostream>
using namespace std;
int main(void)
{
    cout << "HelloWorld!!" << endl;
    return 0;
}

このc言語は
制御構文などに高水準言語の特徴を持ちながら、ハードウェア寄りの記述も可能な低水準言語の特徴も併せ持つ神言語で
基幹系システムや、動作環境の資源制約が厳しい、あるいは実行速度性能が要求されるソフトウェアの開発に用いられることが多い言語です。

利点と欠点

利点
欠点

僕的にはコンピュータの仕組みを知れるし、書きやすいコードだったから神言語だと思っています。
*個人の感想です

コンパイラのインストール方法

まずコンパイラについて解説しておきます。

コンパイラとは、プログラムをコンピュータが理解可能な形に変換する言語のことで
コンパイルとは、その変換作業のことを言います

赤ちゃん言葉を例に取るとわかりやすいかもしれません
緑がやりたいこと
青が高水準言語(プログラム言語)
紫が機械語
赤が実際の処理


赤ちゃんにご飯を食べさせてください
赤ちゃん、食事せよ
〇〇ちゃん、これ食べましょうね☆
赤ちゃん:もぐもぐ

使用するコンパイラ

使用するコンパイラはMinGWを使います
インストール方法がわかる方は環境設定方法に進んでください

インストール方法はいくつかありますがGitHubからダウンロードしてくる方法解説します。

まずはこちらのURLにアクセスしてください
アクセスするとこのような画面になると思います。(2024/7/28 時点では)
minGWのGitHubページのスクリーンショット
このまま下にスクロールしていくと
minGWのGitHubページのスクリーンショット
このようなものが出てくると思います。
この中のどれをダウンロードしても使えるのですが、ニーズによって使い物にならないものもあるのですべて解説していきます。

Release of 13.2.0-rt_v11-rev0
MinGWのGitHubページの解説
minGWのGitHubページのスクリーンショット
  1. i686-13.2.0-release-posix-dwarf-msvcrt-rt_v11-rev0.7z
    32ビット版のGCC 13.2.0のリリースで、POSIXスレッドモデル、dwarfデバッグ情報、MSVCRTランタイムを含むバージョンです。
    対象ユーザー: POSIX環境の32ビットアプリケーション開発者、特にWindowsのMSVCRTランタイムを必要とする開発者
    ニーズ: POSIXスレッドモデルとMSVCRTランタイムを使用した32ビットアプリケーションの開発

  2. i686-13.2.0-release-posix-dwarf-rt_v11-rev0.7z
    32ビット版のGCC 13.2.0のリリースで、POSIXスレッドモデル、dwarfデバッグ情報を含むバージョンです。
    対象ユーザー: POSIX環境の32ビットアプリケーション開発者
    ニーズ: POSIXスレッドモデルを使用した32ビットアプリケーションの開発

  3. i686-13.2.0-release-win32-dwarf-msvcrt-rt_v11-rev0.7z
    32ビット版のGCC 13.2.0のリリースで、Win32スレッドモデル、dwarfデバッグ情報、MSVCRTランタイムを含むバージョンです。
    対象ユーザー: Windows環境の32ビットアプリケーション開発者、特にMSVCRTランタイムを必要とする開発者
    ニーズ: Win32スレッドモデルとMSVCRTランタイムを使用した32ビットアプリケーションの開発

  4. i686-13.2.0-release-win32-dwarf-rt_v11-rev0.7z
    32ビット版のGCC 13.2.0のリリースで、Win32スレッドモデル、dwarfデバッグ情報を含むバージョンです。
    対象ユーザー: Windows環境の32ビットアプリケーション開発者
    ニーズ: Win32スレッドモデルを使用した32ビットアプリケーションの開発

  5. x86_64-13.2.0-release-posix-seh-msvcrt-rt_v11-rev0.7z
    64ビット版のGCC 13.2.0のリリースで、POSIXスレッドモデル、SEHデバッグ情報、MSVCRTランタイムを含むバージョンです。
    対象ユーザー: POSIX環境の64ビットアプリケーション開発者、特にWindowsのMSVCRTランタイムを必要とする開発者
    ニーズ: POSIXスレッドモデルとMSVCRTランタイムを使用した64ビットアプリケーションの開発

  6. x86_64-13.2.0-release-posix-seh-rt_v11-rev0.7z
    64ビット版のGCC 13.2.0のリリースで、POSIXスレッドモデル、SEHデバッグ情報を含むバージョンです。
    対象ユーザー: POSIX環境の64ビットアプリケーション開発者
    ニーズ: POSIXスレッドモデルを使用した64ビットアプリケーションの開発

  7. x86_64-13.2.0-release-win32-seh-msvcrt-rt_v11-rev0.7z
    64ビット版のGCC 13.2.0のリリースで、Win32スレッドモデル、SEHデバッグ情報、MSVCRTランタイムを含むバージョンです。
    対象ユーザー: Windows環境の64ビットアプリケーション開発者、特にMSVCRTランタイムを必要とする開発者
    ニーズ: Win32スレッドモデルとMSVCRTランタイムを使用した64ビットアプリケーションの開発

  8. x86_64-13.2.0-release-win32-seh-rt_v11-rev0.7z
    64ビット版のGCC 13.2.0のリリースで、Win32スレッドモデル、SEHデバッグ情報を含むバージョンです。
    対象ユーザー: Windows環境の64ビットアプリケーション開発者
    ニーズ: Win32スレッドモデルを使用した64ビットアプリケーションの開発

  9. Source code (zip)
    リリースされたGCC 13.2.0のソースコードをZIP形式で圧縮したものです。
    対象ユーザー: GCCのソースコードにアクセスしてカスタムビルドを行いたい開発者
    ニーズ: ZIP形式でソースコードを取得したい場合

  10. Source code (tar.gz)
    リリースされたGCC 13.2.0のソースコードをtar.gz形式で圧縮したものです。
    対象ユーザー: GCCのソースコードにアクセスしてカスタムビルドを行いたい開発者
    ニーズ: tar.gz形式でソースコードを取得したい場合
ながながと書いて何もわかりませんね
まとめます

初心者向けの選択

初心者の方は、自分が使用するシステムに対応したファイル
Windowsの64ビット版であれば
8番x86_64-13.2.0-release-win32-seh-rt_v11-rev0.7zを選ぶのがいいでしょう

アプリ開発者向けの選択

特定のアプリケーション開発者は、ターゲットとするプラットフォームに合わせて選択してください
例えば、POSIXスレッドモデルを使用する場合や、MSVCRTランタイムが必要な場合など、自分の開発環境とアプリケーションのニーズに合わせてダウンロードするファイルを選択してください

カスタムビルドを行いたい開発者向け

GCCのソースコードを取得して、自分でカスタムビルドを行いたい開発者は、
9番Source code (zip)
または
10番Source code (tar.gz)をダウンロードしてください
どちらの形式を選ぶかは、圧縮形式の好みによります。

ダウンロードするとこのようにファイルが保存されると思います
minGWのダウンロード後のスクリーンショット
そしてzipファイル形式なので展開
minGWのダウンロード後のスクリーンショット
展開するとこのようになります
minGWのダウンロード後のスクリーンショット
MinGWはお好みの場所に保存してください

環境設定方法

ここからはダウンロードしてきたコンパイラのセットアップをしていきます
環境設定です

の前に
実はこの時点でもうプログラムは実行できるのです
MinGWが入っている場所がダウンロードフォルダ内だったとすると、コンパイルコマンドは以下のようになります

場所が C:\Users\user\Downloads の場合

C:\Users\user\Downloads\mingw\bin\gcc -o sample sample.c
MinGWの場所 -o コンパイルして出来上がる実行ファイルの名前 コンパイルするファイル

環境設定とはこのMinGWの場所を指定して楽にコンパイルコマンドを打とうというものです。

path指定のやり方

やり方には2種類あります。
手動で設定する方法と、コマンドで設定する方法です。
まずはコマンドで設定する方法です。

管理者としてWindowsPowerShellを実行

[System.Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Users\user\Downloads\mingw\bin", [System.EnvironmentVariableTarget]::Machine)                

つぎに手動でやる方法です
検索バーで環境変数と入力してシステム環境変数の編集を選択してください
検索欄のスクリーンショット
するとシステムのプロパティというウィンドウが開いていると思います
右下の環境変数ボタンを押してください
そうすると、user名のユーザー環境変数システム環境変数という二つの項目があるはずです。
今回はシステム環境変数の方にpathを追加していきます
システム環境変数の項目のpathの欄を一回クリックしてください
少し下にスクロールすると出てくると思います
このpathを押して青くなっている状態で
下の編集のボタンを押します
すると環境変数名の編集というタブが開くと思います。
右上の新規を押すと入力ができるようになるのでMinGWのbinがあるところのpathを入力してOKを押すと完了になります
環境変数のスクリーンショット
私はcドライブ直下にMinGWを置いたのでこのように環境変数の欄に追加されています

path指定をした後のコンパイルコマンドは以下のようになります

コマンドプロンプトでもPowerShellでも実行可

gcc -o sample sample.c

これで正しくコンパイル出来たら設定完了です。
またc++のファイルをコンパイルするときはこのようなコマンドを打ちます

コマンドプロンプトでもPowerShellでも実行可

g++ -o sample sample.c

実際にコンパイルしよう

実際にプログラムを書いて実行していきたいと思います
まずは画像のようにプログラムを書くフォルダを用意します
私は、HドライブのProgramScriptsというフォルダ内のCというフォルダ内のpracticeというフォルダにプログラムを書くことにしました 実際のスクリーンショット
ここで新規作成テキストドキュメントでテキストファイルを作成します
そして名前を変えるのですが拡張子も一緒に変えます
sample.cに変えてください
変えると画像のようにエラーが出ますがはいと押してください
実際のスクリーンショット
ここからsample.cを開きます
メモ帳で開いてもいいですし、お好きなテキストエディタで開いても構いません
そして以下のコードを打ち込みます

HelloWorld!! の出力例

#include <stdio.h>
int main(void)
{
    printf("HelloWorld!!\n");
    return 0;
}
打ち込み終えたら上書き保存して閉じてもらって構いません

そして、今回はターミナルでコマンドを打ち込んでコンパイルしていきます

まず動画のように右クリックをしてターミナルをプログラムがあるフォルダで起動します

そしてターミナルにこのようにコマンドを打ち込みます

コンパイルコマンド

gcc -o sample sample.c
そして下の画像のようになればコンパイル成功です
実際のスクリーンショット
実際のスクリーンショット

このsample.exeを実行すると何か起こると思いきや何も起こりません
これ実はきちんと実行されているのですが、その結果が一瞬表示されるだけで人間の目では見逃してしまうのです

なのでこのコマンドを打ってやりましょう

実行コマンド

./sample

このようにコマンドライン内で実行することでコマンドラインに実行結果を残すことができます
実際のスクリーンショット


-おわり-

この記事を書いた人

this are me

ゲームプログラミングやウェブ開発、アプリ開発を主にしてます。

@slrte_sol

トップページへ