Cプログラミングの環境構築

こんにちは、めのんです!

今回から本格的に「PHPプログラマーのためのC講座」を始めることにします。
前回も書きましたが、この講座はPHPプログラマーを対象にCの学習をお手伝いするものです。
まったくプログラミング経験がない方にとってはちょっと難しいと思いますので、入門書など別の方法で学習することをお勧めします。

Cでプログラミングするには「コンパイラ」というツールが必要になります。
PHPであれば、プログラムを動作させるにはApacheなどのWebサーバーのモジュールを使うかCGIとして動かすか、あるいはphp-cliを使ってコマンドラインで動かすかでしたが、Cではまったく仕組みが異なります。

何らかのテキストエディタでソースコードを書くところまではPHPと変わりません。
Cでは、ソースコードを書き込んだソースファイルを機械語に翻訳する必要があります。
そのためのツールがコンパイラです。

Cのコンパイラにはいくつも種類があるのですが、この講座では「GCC」を使います。
もちろん、ほかのコンパイラを使うこともできますが操作方法など微妙に異なる部分があります。
この講座ではあくまでもGCCを対象とした解説しか行いませんので、その点はあらかじめご了承ください。
なお、Visual StudioでもCのコンパイルはできるのですが、新しい規格に追従できていませんし、癖も強いのでこれからCを学習する方には向いていないと思います。

では、オペレーティングシステムごとGCCのインストール方法を見ていくことにしましょう。

Windows

WindowsをGCCを使うにはいくつかの方法があります。
それぞれ一長一短がありますし好みもありますので、どれが一番いいとは一概にはいえません。

Cygwin
CygwinはWindows上でUnixライクな環境を構築する互換レイヤーです。
CygwinのインストーラーからGCCをインストールすればbash上でGCCを使うことができます。

詳細はGeekなページさんの「C言語入門:Cygwinで開発環境を用意する」を参照するとよいでしょう。

MSYS2
MSYS2はCygwinと同様にWindows上にUnixライクな環境を構築しますが、Cygwinほど本格的ではなくもう少し簡易的なものです。
Cygwinより軽量ですし使い勝手も悪くありません。
また、pacmanを使ってほぼほぼ最新のツールを常に使うことができます。

MSYS2で使えるGCCはMinGW-w64と呼ばれるもので、標準ライブラリにいくつかの不備があるなど注意が必要です。
MinGW-w64自体はMSYS2がなくてもコマンドプロンプトやPowerShellから使うこともできるのですが、ここでは解説は割愛します。

MSYS2に関する詳細は、Qiitaの「Windows10でMSYS2でC++環境を作る」を参考にするとよいでしょう。
細部の仕様は頻繁に変わるので、もしQiitaの記事の通りにやってもうまくいかない場合は、「MSYS2 GCC 環境構築」といった検索フレーズで最新の情報を探すことをお勧めします。

WSL
WSLはWindows Subsystem for Linuxのことで、Windows 10には標準で備わっている機能です。
読んで字のごとく、Windows上でLinuxを動かすことができます。
Ubuntuなどいろいろなディストリビューションが提供されていますので、好みのものを使用するとよいでしょう。
GCCのインストールに関してはLinuxと同じですので、後述のLinuxの解説を参照してください。

WSLのインストール方法については、マイクロソフトの「Windows 10 用 Windows Subsystem for Linux のインストール ガイド」を参考にしてください。

Linux

GCCのインストールはLinuxが一番簡単だと思います。
お使いのディストリビューションに応じて、aptやdnfなどを使ってGCCをインストールしてください。
特別なことは何も必要ないと思います。

GCCは基本的にターミナル上で使いますが、Visual Studio codeなどの統合開発環境を使われる場合は必要な設定を行ってください(ここでは割愛します)。

macOS

PHPプログラマーの方々はmaxOSユーザーも大勢いらっしゃると思います。
macOSの場合、Xcodeをインストールしてもgccコマンドは使えるようになったはずですが、実際に動いているのはClangという別のコンパイラですので注意が必要です。
ClangとGCCは使い方がよく似ているので学習する上で大きな問題にはならないと思いますが、本物のGCCを使う場合はHomebrewなどを使ってご自身でインストールする必要があります。

Linux同様、GCCは基本的にターミナル上で使いますが、Visual Studio codeなどの統合開発環境を使われる場合は必要な設定を行ってください(ここでは割愛します)。

ここまでで、Windows、Linux、macOSそれぞれのオペレーティングシステムごとのGCCのインストール方法を解説しました。
次回はいよいよソースコードを書いていきます。