コンテンツにスキップ

ローカルでの環境構築

Google Cloud Shell Editorによるブラウザベースではなく、 自分の手元のローカルコンピュータ上でプログラミング環境を構築する方法について述べます。

Week1だけはリモート講義なのでブラウザベースのオンライン環境で講義を進めますが、 Week2以降は情報教育棟のマックでローカル環境でプログラミングを進めることが 可能です。

プログラミングは本来はまずはローカルで行うことが基本です。 3年生以降ではプログラミングをする際はローカルで行うことが多いでしょう。

また、家でローカル環境で自習したい場合もあります。その際も、このページの記述を 参考にしてください。

必要なことは

  • なんらかのエディタを使ってファイルを編集できる
  • ターミナルとコンパイラが使える

という二点です。エディタについては、何でもいいのですが、2022年現在だと Visual Studio Code (VSCode) が簡単で人気なのでおすすめです。 皆さんは三年生になるとemacsというプロ向けのエディタを勉強することになりますので、emcasにチャレンジしてもよいです。 プログラマにとってのエディタやターミナルは、料理人にとっての包丁のようなものです。 いろいろ試してみて、自分に合うものを探究していきましょう。

ターミナルおよびコンパイラについては、以下を参照してください。

情報教育棟のマックを使う場合

以下にVSCodeを使う手順を紹介します。これにより、Google Cloud Shell Editorと同じ要領でプログラミングを行うことができます。

  • 左下のLaunchpadを押して上の検索画面で「code」と押すと、VSCodeのアイコンが出てきます。それをクリックするとVSCodeを起動できます。
  • VSCodeを開き、一番上のメニューの「File」から「Open Folder」を選び、作業フォルダを選択します。そうすると、その作業フォルダの中身をVSCodeで編集できるようになります。
  • 「Do you trust the authors of the files in this folder?」が出てきたらYes, I trust the authorsをクリックしてください。これはもし「他者が書いた悪意のあるコードが含まれていたらどうする?」という質問なのですが、自分で書くコードについては気にしないでいいです。
  • もし画面が更新しなければ、左上の「refresh explore」を押してください。

さて、C言語用の補助の拡張機能も入れておくといいのでやっておきましょう。これは、C言語を使いやすくする機能をダウンロードしてVSCodeに追加しておくというものです。

  • 左側のExtensionsのアイコン(四角形が3つあり、1つ浮いているもの)をクリックします。
  • 左上部に出てくる検索窓に「C」と入力します。すると色々とパッケージが出てきます。
  • 「C/C++」というマイクロソフト公式のものをクリックします。そして真ん中のあたりにある「Install」のボタンを押し、インストールさせます。しばらくするとインストールが完了します。

家でWindowsを使う場合

あなたのPCがWindowsである場合、以下の2通りのメジャーな方法があります

Cygwinを使う

Cygwinとは、UNIX (Linux)をwindowsでエミュレートするものです。Cygwinをインストールすることで、 gccが使えるターミナルがwindowsでも使えるようになります。 導入については、長谷川先生のソフト演習のサイトをご参照ください。

Cygwinは長い間非常に重要なソフトウェアであり、日本語の文献やウェブページも多いのですが、ここ数年は下に述べるWindows Subsystem for Linux 2が 急速に普及してきています。新しいものにチャレンジしてみようと思う方には、以下のWSL2をオススメします。

Windows Subsystem for Linux 2 (WSL2) を使う

Windows Subsystem for Linux 2 (WSL2)とは、その名の通り、windows上でlinuxを構築するもので、MSが公式に提供しているものです。 オフィシャルの手順に従ってインストールできます。 長谷川先生のソフト演習のサイトや、松井が書いたWindows 11の設定記事も参考にしてください。

LinuxディストリビューションはUbuntu 22.04あるいは20.04を選択すればよいです。

CygwinとWSL2の比較は以下です。

  • Cygwinはあくまでwindows上でlinuxをエミュレートして「linux的なもの」を 実行する技術ですが、WSL2は「完全なlinux」を仮想的に構築します。
  • Cygwinは細かい点でlinuxと色々異なりますが、WSL2上では多くのlinux プログラムがほぼ完全な形で動きます。
  • 一方で、WSL2はwindows側とlinux側でどうファイルを共有するかなど、自明ではない部分がかなりあります。まだ新しい技術であるため、不具合も多く、インターネット上の情報も少ないです。 また、WSL2はlinuxを知っている人からは非常に筋が通っている技術に見えるのですが、初めてlinuxを触る人からするとなんでこんなめんどくさい仕組みになっているんだろう?と思うかもしれません。

ここでインストールの際の注意として、

  • WSL1ではなく、新しいWSL2のほうがオススメです
  • WSL2上でVSCodeを使う手順はWSLのドキュメントVSCodeのドキュメントを参照しましょう。 「Add hello world source code」までやればOKです。ここではVSCode Remote WSLという機能によって、windowsからでもまるでlinuxを触っているようにプログラミングが出来ます。
  • ついでに、Windows Terminalという、MS公式の最新のターミナルを入れておくと、画面が非常にきれいになります。
  • Tips:
    • $ explorer.exe . とするとカレントディレクトリをエクスプローラで開いてくれます。非常に便利です。
    • windowsそのものは/mnt/cにマウントされているので、 $ cd /mnt/cとするとWSL2側からwindows側を覗けます
    • 上のドキュメントで紹介されていた通り、カレントディレクトリでVSCodeを起動したいときは $ code . とするのが便利です(VSCode Remote WSLの状態で起動してくれるため、基本的にこの方法でVSCodeを起動するといいかと思います。)

(Visual Studioについて)

本講義ではUNIX環境下でのgccによる講義を扱うため、Visual StudioおよびMSVCは扱いません。Visual StudioとVisual Stuio Codeは全然別ものなので注意してください。

家でMac OSの場合

  • 情報教育棟のマックと基本は同じです。しかし、情報教育棟のマックには様々なソフトウェアが最初からインストールされています。自分のマックを使う場合、コンパイラやvscodeは自分でインストールしてください。
  • コンパイラのgccのインストールの際は、次のサイトが参考になると思います:Developing C programs on Mac OS
  • Mac OSのgccは実はclangとうい別のコンパイラになっています。本講義での範囲ではどちらでも大丈夫なのですが、エラーメッセージなどが異なる可能性があるので注意してください。

Linuxの場合

  • もしあなたが既にUbuntu等を使っている場合、説明は不要かと思います。好きなディストリビューションでやってもらって大丈夫です。