C/C++言語の環境構築について
c/c++言語とはどのような言語か
c言語は
汎用性が高く、高速なプログラムが作成できるプログラミング言語で
#include <stdio.h>
int main(void)
{
printf("HelloWorld!!\n");
return 0;
}
c++言語は
C言語をベースにオブジェクト指向などを取り入れたプログラミング言語です
#include <iostream>
using namespace std;
int main(void)
{
cout << "HelloWorld!!" << endl;
return 0;
}
このc言語は
制御構文などに高水準言語の特徴を持ちながら、ハードウェア寄りの記述も可能な低水準言語の特徴も併せ持つ神言語で
基幹系システムや、動作環境の資源制約が厳しい、あるいは実行速度性能が要求されるソフトウェアの開発に用いられることが多い言語です。
利点と欠点
利点
- ハードウェアの直接的な制御ができる
- ソースコードの再利用性やメンテナンス性に優れている
- 目的に応じたプログラムの変更や拡張が容易
- 汎用性およびプログラムの自由度が高い
- ソフトウェアだけでなくハードウェアなどあらゆる分野で使われる
- 商用・非商用を問わず、採用ソフトウェア分野が広く歴史もあるため補助的なソフトウェアが多い
- ライセンス料の支払いをしなくても使用が始められる
欠点
- 開発時期が古いことから、文法に機械語の影響が強く、解読が難解。
- 移植の容易性、自由度、実行速度、コンパイル速度などを追求したせいでコンパイル後のコードの安全性を犠牲にしている
僕的にはコンピュータの仕組みを知れるし、書きやすいコードだったから神言語だと思っています。
*個人の感想です
コンパイラのインストール方法
まずコンパイラについて解説しておきます。
コンパイラとは、プログラムをコンピュータが理解可能な形に変換する言語のことで
コンパイルとは、その変換作業のことを言います
赤ちゃん言葉を例に取るとわかりやすいかもしれません
緑がやりたいこと
青が高水準言語(プログラム言語)
紫が機械語
赤が実際の処理
赤ちゃんにご飯を食べさせてください
赤ちゃん、食事せよ
〇〇ちゃん、これ食べましょうね☆
赤ちゃん:もぐもぐ
使用するコンパイラ
使用するコンパイラはMinGWを使います
インストール方法がわかる方は
環境設定方法に進んでください
インストール方法はいくつかありますが
GitHubからダウンロードしてくる方法解説します。
まずはこちらのURLにアクセスしてください
アクセスするとこのような画面になると思います。(2024/7/28 時点では)

このまま下にスクロールしていくと

このようなものが出てくると思います。
この中のどれをダウンロードしても使えるのですが、ニーズによって使い物にならないものもあるのですべて解説していきます。
Release of 13.2.0-rt_v11-rev0
MinGWのGitHubページの解説
-
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ビットアプリケーションの開発
-
i686-13.2.0-release-posix-dwarf-rt_v11-rev0.7z
32ビット版のGCC 13.2.0のリリースで、POSIXスレッドモデル、dwarfデバッグ情報を含むバージョンです。
対象ユーザー: POSIX環境の32ビットアプリケーション開発者
ニーズ: POSIXスレッドモデルを使用した32ビットアプリケーションの開発
-
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ビットアプリケーションの開発
-
i686-13.2.0-release-win32-dwarf-rt_v11-rev0.7z
32ビット版のGCC 13.2.0のリリースで、Win32スレッドモデル、dwarfデバッグ情報を含むバージョンです。
対象ユーザー: Windows環境の32ビットアプリケーション開発者
ニーズ: Win32スレッドモデルを使用した32ビットアプリケーションの開発
-
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ビットアプリケーションの開発
-
x86_64-13.2.0-release-posix-seh-rt_v11-rev0.7z
64ビット版のGCC 13.2.0のリリースで、POSIXスレッドモデル、SEHデバッグ情報を含むバージョンです。
対象ユーザー: POSIX環境の64ビットアプリケーション開発者
ニーズ: POSIXスレッドモデルを使用した64ビットアプリケーションの開発
-
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ビットアプリケーションの開発
-
x86_64-13.2.0-release-win32-seh-rt_v11-rev0.7z
64ビット版のGCC 13.2.0のリリースで、Win32スレッドモデル、SEHデバッグ情報を含むバージョンです。
対象ユーザー: Windows環境の64ビットアプリケーション開発者
ニーズ: Win32スレッドモデルを使用した64ビットアプリケーションの開発
-
Source code (zip)
リリースされたGCC 13.2.0のソースコードをZIP形式で圧縮したものです。
対象ユーザー: GCCのソースコードにアクセスしてカスタムビルドを行いたい開発者
ニーズ: ZIP形式でソースコードを取得したい場合
-
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)をダウンロードしてください
どちらの形式を選ぶかは、圧縮形式の好みによります。
ダウンロードするとこのようにファイルが保存されると思います

そしてzipファイル形式なので展開

展開するとこのようになります

MinGWはお好みの場所に保存してください
環境設定方法
ここからはダウンロードしてきたコンパイラのセットアップをしていきます
環境設定です
の前に
実はこの時点でもうプログラムは実行できるのです
MinGWが入っている場所がダウンロードフォルダ内だったとすると、コンパイルコマンドは以下のようになります
C:\Users\user\Downloads\mingw\bin\gcc -o sample sample.c
MinGWの場所 -o
コンパイルして出来上がる実行ファイルの名前 コンパイルするファイル
環境設定とはこのMinGWの場所を指定して
楽にコンパイルコマンドを打とうというものです。
path指定のやり方
やり方には2種類あります。
手動で設定する方法と、
コマンドで設定する方法です。
まずはコマンドで設定する方法です。
[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指定をした後のコンパイルコマンドは以下のようになります
これで正しくコンパイル出来たら設定完了です。
またc++のファイルをコンパイルするときはこのようなコマンドを打ちます
実際にコンパイルしよう
実際にプログラムを書いて実行していきたいと思います
まずは画像のようにプログラムを書くフォルダを用意します
私は、HドライブのProgramScriptsというフォルダ内のCというフォルダ内のpracticeというフォルダにプログラムを書くことにしました

ここで新規作成→テキストドキュメントでテキストファイルを作成します
そして名前を変えるのですが拡張子も一緒に変えます
sample.cに変えてください
変えると画像のようにエラーが出ますがはいと押してください

ここからsample.cを開きます
メモ帳で開いてもいいですし、お好きなテキストエディタで開いても構いません
そして以下のコードを打ち込みます
#include <stdio.h>
int main(void)
{
printf("HelloWorld!!\n");
return 0;
}
打ち込み終えたら上書き保存して閉じてもらって構いません
そして、今回はターミナルでコマンドを打ち込んでコンパイルしていきます
まず動画のように右クリックをしてターミナルをプログラムがあるフォルダで起動します
そしてターミナルにこのようにコマンドを打ち込みます
そして下の画像のようになればコンパイル成功です
この
sample.exeを実行すると何か起こると思いきや何も起こりません
これ実はきちんと実行されているのですが、その結果が一瞬表示されるだけで人間の目では見逃してしまうのです
なのでこのコマンドを打ってやりましょう
このようにコマンドライン内で実行することでコマンドラインに実行結果を残すことができます
-おわり-
この記事を書いた人
ゲームプログラミングやウェブ開発、アプリ開発を主にしてます。