WindowsでC言語をお勉強をしたい人におすすめの方法です。
目次
今日は2020年4月22日。疫病が蔓延し、人々には外出禁止が言い渡され、社会は機能不全に陥っている。
そんな中、不幸にも大学へ入学してしまった諸君は、不安で胸がいっぱいであろう。多くの大学は春と夏の授業を原則オンラインで実施することを決定した。講義科目であれば、オンラインでの開講はさほど問題ではないように思えるが、 なんと理系の諸君は、実験や実習科目もオンラインで受講することになるらしい。たまげたなぁ。
実験をオンラインでどうやるのか拙者は全く想像できないが、特別な装置を必要としない実習科目、例えば『プログラミング』等は自宅で受講することができなくはないだろう。でも問題がある。プログラミングの授業は本来は大学のコンピュータルーム等でおこなうだろう。大学のコンピュータには既に『開発環境』が整っているから、すぐにプログラミングに着手することができる。
一方で、プログラミングを諸君のPCで始めようとすると、はじめに『開発環境』を整える作業が必要となる。この作業は一筋縄ではいかないことが多い。
そして、大学への登校を禁じられた諸君は、TAや職員さんの手を借りずに、『開発環境』の導入という大仕事を、一人でこなさなければならない。なんということだ。パソコンの扱いに慣れない諸君には荷がおもすぎる。でもやるしかない。
注意事項
このページの内容は、以下の諸君が対象である。
- Windowsを利用している
- Unix環境でC言語のお勉強をする必要がある
「Unix環境でC言語のお勉強をする必要がある」というのは、パソコンの扱いに慣れない諸君にとって、あまりにも酷な要求であろう。しかし、世の中は残酷だ。講師が「やりなさい」と言った事に従わなければ、単位は貰えない。「Unix環境でC言語のお勉強をする必要がある」に当てはまらない幸運な諸君。諸君には、『Visual Studio』を使う選択肢があることを念の為お伝えする。
このページに書かれた内容は、あくまで参考資料だと思ってほしい。諸君にとって真の指導者は、講師であって拙者ではない。講師の指示が絶対である。
WSLを使えるようにする
WSLとはWindowsにUnix環境を簡単に作り上げることのできるシステムであり、略さずに言うと『Windows Subsystem for Linux』である。まずは、WSLを使えるようにする。
まずは、『設定』を開いて、『アプリ』をクリックする。

次に、『アプリと機能』画面の右上にある『プログラムと機能』をクリックする。

左端の『Windowsの機能の有効化または無効化』をクリック。そして『Windows Subsystem for Linux』にチェックマークをつけて『OK』を押す。

しばらく待つと、「再起動する必要があります」と言われるので、再起動する。編集中で未保存のファイルがあるなら、保存してから再起動するべし。

Ubuntu 18.04 LTS をいれる
WSLが使えるようになったら、次に、UbuntuというLinux OSをいれよう。WSLというのは、Linux OSを入れるための『箱』のようなものに過ぎず、この『箱』にLinux OSを入れて初めてUnix環境が完成するのだ。
まずは、『Microsoft Store』を開く。次に、検索をクリックして Ubuntu
と入力する。Ubuntu とは、Linux OSの一つである。

検索結果が出てきたら、『Ubuntu 18.04 LTS』を選択する。

『入手』をクリックする。Microsoftアカウントを登録していないPCだと、サインインするように促されるが、『必要ありません』を選択すれば先にすすめる。

Linux OSのインストールも済んだので、WSLを起動する。スタートボタンの隣にある検索欄に Ubuntu
と入力し、『Ubuntu 18.04 LTS』をクリックする。

WSLを起動して、しばらく待つと、新しいユーザー名を入力するよう要求される。このユーザー名とは、Windowsのユーザー名・アカウント名とは異なり、WSL専用のユーザー名である。従って、Windowsのユーザー名・アカウント名とは異なっても構わない。
WSLのユーザー名にはきまりがある。
- 英数小文字のみ使える。大文字は使えない。
- スペースを含んだり、基本的に記号を用いてはいけない。
- 当然日本語(全角文字)は使えない
参考程度に述べるが、拙者のPCのWindowsのユーザー名は bash💩guminote
であったため、WSLのユーザー名は wslguminote
にした。
WSLのユーザー名をきめて入力したら、Enterキーを押す。すると、新しいパスワードを入力するよう要求される。こちらも、Windowsのパスワードとは別物であるから、諸君が忘れないのであれば、違うパスワードにしても良い。パスワードには大文字を用いても大丈夫だった記憶がある。記憶が曖昧で申し訳ない。
パスワードを入力してEnterキーを押すと、確認のためにもう一度パスワードを入力するよう要求される。

次に、Linux OSとソフトウェアの更新をする。 sudo apt update
と入力して、Enterキーを押す。すると、先ほど決めたパスワードを入力するよう要求されるから、パスワードを入力して、Enterキーを押す。更新の有無の確認がおこなわれるので、一分少々待つ。

sudo apt upgrade
と入力して、Enterキーを押す。今度は update ではなく upgrade なので注意。「Do you want to continue?」と尋ねられるので、何も入力せずにEnterキーを押す。更新のダウンロードとインストールがおこなわれるので、10分少々待つ。

おまたせしました。最後に、C言語のお勉強に必要な「コンパイラ」をインストールする。 sudo apt install build-essential
と入力して、Enterキーを押す。 「Do you want to continue?」と尋ねられたら、先ほどと同様に何もせずにEnterキーを押す。

以上でLinux OSの準備は終了である。 exit
を打ち込んでWSLを一旦終了する。

VS Code をいれる
VS Code というのは、略さずに言うと『Visual Studio Code』であるが、『Visual Studio』とは似て非なるものである。VS Code というのは『テキストエディタ』と呼ばれるものの一種である。『テキストエディタ』とは、「プログラムを書くために使うソフト」と捉えてもらえれば十分である。
まずは、VS Code をダウンロードする。
https://code.visualstudio.com/
↑のリンクにアクセスしたら、『Download for Windows』をクリックする。操作を聞いてくるので、『実行』をクリックする。

インストールが始まる。『同意する』を選択して『次へ』をクリック。インストール先を聞いてくるので変えずに『次へ』をクリック。

プログラムグループの指定? 何も変えずに『次へ』をクリック。追加タスクの選択を要求される。すべての項目にチェックをつけてから、『次へ』をクリックする。

『インストール』をクリック。「Visual Studio Code を実行する」のチェックを外してから『完了』。

VS codeが起動する。すると、「Remote – WSL」という拡張機能を推してくるが、今回は不要。『Don’t Show Again』を選択する。

VS codeからWSLをいじれるようにする。まず、メニューの『Terminal』を選択、『New Terminal』をクリックする。次に、『1: powershell』とか書かれた箇所をクリックして、『Select Default Shell』をクリックする。最後に、『WSL Bash』を選択する。

以上の作業を終えたら、一旦 VS codeを終了する。
C言語を書いてみる
準備は終わった。あとはC言語を書いて、コンパイル、実行する手順をマスターすれば完璧だ。
まず、C言語のお勉強をするための、作業フォルダ(ディレクトリ)を作る。以後、諸君は「ディレクトリ」という慣れない単語を目にする事が多くなると思うが、「ディレクトリ」は「フォルダ」と同じ意味だと思ってもらって全く問題ないと拙者は思う。
今回は、「ドキュメント」フォルダ内に work
という名前のフォルダを作成して、そのフォルダ内にプログラムを保存することにする。
新しいフォルダの作り方は、多くの者が知っているとは思うが、念の為作り方を載せる。

work
フォルダを作ったら、 work
フォルダを選択した状態で右クリックをして、『Code で開く』を選択する。

すると、VS codeが開かれる。 work
フォルダの中身は、左端のスペースに表示される。

それでは、早速、 hello.c
というファイルを作って、プログラムを書いていこう。新しいファイルを作る方法は主に3つある。
まず一つ目の方法は、VS codeでファイルを作る方法である。

ファイルを作る二つ目の方法は、エクスプローラーで作る方法である。まず、エクスプローラーで work
フォルダを開く。何も無いところで右クリックをして、『新規作成』『テキストドキュメント』を選択する。

ファイル名を hello.c
に変更する。「拡張子を変更したけど大丈夫か?」と問われるので「はい」を選択する。

以上で hello.c
の作成ができた。プログラムを書いてみよう。次のプログラムを打ち込んでほしい。打ち込むのが大変なら、コピー&ペーストしても構わない。
c💩#include <stdio.h>
int main(void) {
printf("hello world.\n");
return 0;
}
プログラムが書けたら。保存する。ファイルの上書き保存の最も簡単な方法は、Ctrlキーを押しながら『S』を押す方法である。Ctrlキーはキーボードの最下段の両端にある。

次に、ターミナルが表示されてなければ、ターミナルを表示する。このターミナルはWSLのターミナルである。すなわち、VS codeでWSLを操作することができる。

ターミナルで bash💩gcc hello.c
を入力し、Enterキーを押す。このコマンドによって hello.c
はコンパイルされ、 a.out
という実行ファイルが生成された。
次に、 ./a.out
を入力し、Enterキーを押す。このコマンドによって実行ファイル a.out
が実行され、「hello world.」と表示された。

以上で、WSLでC言語のお勉強をする準備は整った。
「Windows Subsystem for Linux」が「Linux 用 Windows サブシステム」表記になっているようです.どうでも良いけどアプデで変わった?