はじめに
ここではVisual Studio Codeを用いてC言語の学習をするための準備をします。Visual Studio Code(以下、VSCode)は、Microsoftが提供しているフリーのエディタです。初心者にも扱いやすいと思います。また、Mac、Linux、Windowsで使用可能なので大変便利です。
※この記事はWindows、Macをメインに説明します。
コメントいただいた場合等、適宜改善を行なっております。
ベースがかなり古いため、画像やリンクなどを修正予定です。(2022/07/07)
ダウンロード
ダウンロードはこちらから
各自のOSに合わせてダウンロード、インストールしてください。
インストールが終わったら次の項目へ
ソースファイルを作成する
プログラムが書き込んであるファイルをソースファイルと呼びます。今回は、初めてプログラムを作成するときによく使われる「Helloworld」のプログラムを例に実行まで説明します。まず、空のソースファイルを作成しましょう。作成には、主に2通りの方法があります。
1. エクスプローラから新規ファイルを作成する
Windows
任意のフォルダで、右クリックをし[新規作成]→[テキスト ドキュメント]を選択しましょう。すると、名前の変更を要求されるので、「Helloworld.c」にしてください。このとき(.txt)は消すようにしてください。
拡張子の表示・非表示
拡張子とは、ファイルの種類を識別するための文字列です。ファイル名には必ず拡張子があり、ドット以下に記述されます。普段あまり意識することはないかもしれませんが、プログラムを扱う上では拡張子は重要になります。拡張子が非表示になっている場合には、リンクの記事をご覧ください。
[Windows]拡張子の表示・非表示
Mac
Macでは、標準の設定ではWindowsのように新規にファイルを作成することはできません。「XtraFinder」というソフトを使用すれば、作成できるようになるようです。詳しくは検索してみてください。
XtraFinder
2. Visual Studio Codeから新規ファイルを作成する
![新規ファイル作成_1](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F155265%2F4ca0b3ae-0ca4-cdcd-b6e5-8a5c096e4cf6.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=a75de198cc9dd3bd2103433ad59ac7f1)
VSCodeのファイルメニューより、新規ファイルを選択します。そうすると、新規ファイルへの記述が可能になります。
![新規ファイル作成_2](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F155265%2F23733363-bbdd-c88d-0912-1ece0daa7474.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=49e805a4748b87cd8dddf08c7c6eaf02)
このまま記述しても構わないのですが、ここではファイルの保存を優先したいと思います。
![新規ファイル作成_3](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F155265%2F5ffe9b5c-b9d7-fc5e-340d-9e7daf936c2d.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=f806a1388d34a470a15ee9acb57ab9e8)
[名前をつけて保存]を選択します。このとき、ファイルの拡張子(.c)をつけるのを忘れないでください。
|ショートカットキー|Windows|Mac|
|:--:|:--:|:--:|
|名前をつけて保存...|Ctrl+Shift+S|⇧⌘S|
![スクリーンショット 2017-05-01 18.23.33.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F155265%2Fe088e22d-7889-ed46-20a7-00868e2d7919.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=e182d6ff53d3207a8a1611e2ddf92f1b)
保存が完了したら、そのファイルへの記述が可能になります。その後は定期的に保存をするようにしましょう。
|ショートカットキー|Windows|Mac|
|:--:|:--:|:--:|
|保存|Ctrl+S|⌘S|
「Helloworld」の記述
「Helloworld」のプログラムは以下の通りです。コピーすることもできますが、せっかくなので手で打ってみることをお勧めします。
#include<stdio.h>
int main(void){
printf("Helloworld\n");
return 0;
}
終わったら保存を忘れずに......
拡張機能のインストール
VSCodeには、豊富な拡張機能があります。今回はC言語用の拡張機能をインストールしましょう。
![拡張機能_1](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F155265%2Fab6a57ba-6207-6308-3496-b966bd451da1.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=416e6cf5be3b096e1c9e5dc1c0b9f679)
まず、拡張機能のパネルを表示します。
赤い丸で示されたところをクリックします。
![拡張機能_2](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F155265%2Fc8a3ddc2-487b-4325-da7e-f0a2d3aa06cc.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=0a1e42c348d8057276fb13586ded69a5)
検索フォームに"C/C++"と入力します。一番上に出てきた拡張機能をインストールします。インストールが終了したら、有効化するために[再度読み込む]をクリックしてください。
以上で、拡張機能のインストールは終了です。
プログラムの実行
プログラムを実行するにはいくつかの方法がありますが、ここではVisual Studio Code内で実行する方法を紹介します。ここでは、ターミナルというものを使用します。まずは、ターミナルを表示しましょう。
![プログラムの実行_1](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F155265%2F7d9ce922-ba53-f6d1-cf5a-c12b97eb08b5.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=d5474507c72b7c094544e0857c21df90)
[表示]の[統合ターミナル]を選択します。
コンパイル
プログラムを実行するにはコンパイルをする必要があります。プログラムをコンパイルして、実行ファイルを作成する必要があるのです。このコンパイルをするためにはパソコンにコンパイラというものをインストールする必要があります。今回は、コンパイラとしてgccを使用します。
コンパイラのインストール
ここからは、WindowsとMacで操作が大きく異なります。
Windows
パッケージ管理ツールのインストール
Windowsでは、MinGWをインストールします。これをインストールすることにより、gccが使用可能になります。
まずは、MinGWをこちらからダウンロードしてください。
MinGWの32bit版、64bit版について※2020/5/8
コメントにて、MinGWが32bit版であるからうまく動作しないのではないかという意見をいただいております。MinGWはgcc以外に様々なパッケージを扱っているために64bit版であるMinGW-w64が存在しています。しかし、gccそのものはアーキテクチャに依存しないため、32bit版と64bit版のMinGWのどちらでインストールしてもgccは同じものがインストールされます。したがって、記事内の32bit版MinGWでインストールした場合でも64bit版OSで動作すると考えられます。もし間違いがありましたら是非コメントをいただきたいと思います。
ダウンロード方法が変わっていたので編集しました。※2020/2/25
![スクリーンショット 2020-02-25 15.57.41.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F155265%2F824c510d-b388-0481-7bbb-5b8e9f0e9b95.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=19e6d861e92d0a90bc96713f7440e025)
右上の[Download]をクリックしてください。
![スクリーンショット 2020-02-25 15.58.06.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F155265%2F8c19a62a-f9fd-0c62-1be6-cf56f610caec.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=8c5727a3420770a1e878490ec0174da2)
赤い枠のボタンをクリックして、インストーラーをダウンロードしてください。
ダウンロードが終わったら、ダウンロードしたファイルを実行します。
![スクリーンショット 2017-05-01 22.24.40.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F155265%2F187cfaf7-c2a6-5975-446c-771b80c468eb.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=6ef372a55e1c0cbe444ac7ac41b8978f)
このとき特にインストールディレクトリを変更する必要はありません。そのまま、[Continue]をクリックしてください。
パッケージのインストール
続いて、C言語をコンパイルするパッケージをインストールします。
![mingwgui_setup](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F155265%2Ffdb39495-517f-770c-92f7-cc520b958f57.jpeg?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=82bb6c529f8b91d290ae3ddba60100b2)
mingw32-base-bin
にチェックを入れてください。
チェックを2つから1つに変更しました。※2020/5/8
![パッケージ_2](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F155265%2F8c0de58d-75f4-ea7e-f737-120c81ec8e3a.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=7875a5c0bceda3552fea41cbdeda9a60)
左上の[Installation]から[Apply Changes]を選択します。
![パッケージ_3](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F155265%2F6d020ee0-c1ae-a146-9f4d-ea1ab27c615a.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=b5a85f92cf65707a29c00388a6b7c79d)
[Apply]をクリックして終了です。
gccの有無の確認
新規追加しました。※2020/5/8
ここまで完了したら、MinGWフォルダが作成されているかを確認してください。C言語をコンパイルするためには、gccが必要です。gcc.exeファイルが存在するかどうかを確認してください。デフォルトでは、C:\MinGW\bin
のフォルダの中にgcc.exe
が存在しているはずです。
環境変数PATHの設定
大幅に変更しました。※2020/5/8
コントロールパネルを起動し、コントロールパネル>システムとセキュリティ>システムから「システムの詳細設定」を開きます。
すると、以下のような「システムのプロパティ」が起動します。
一番下の[環境変数]をクリックしてください。
![システムのプロパティ](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F155265%2F407543e4-3616-0670-7940-850ef8f40c4d.jpeg?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=97c4ed57e179cb7b792252b86b711d1f)
その後、「環境変数」が起動します。これからgccへのパスを通してgccを利用できるようにします。下側の「システム環境変数」の変数中から「Path」を探して“選択”して、[編集]をクリックします。
すると、以下のような画面が表示されます。
右上の新規を押し、C:\MinGW\bin
を追加してください。
![環境変数の追加](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F155265%2F14736422-8016-730a-c934-0ef97db8becc.jpeg?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=ce67fef09c1731ef14daccc7a42b9668)
これでgccが利用できるようになります。
もしもgccが動作しない場合は、Pathの設定がうまくいってないと思われます。
当記事以外も参考にし、状況を切り分けながら検討していただければと思います。
Mac
Macに関しては、わかりやすい記事がありましたのでリンクさせていただきます。
Macにgccをインストールする
ターミナルでの移動
さて、gccが使用可能になったので、先ほど作った「Helloworld.c」をコンパイルし、実行ファイルにしてみたいと思います。
まずはターミナルにて「Helloworld.c」のファイルが保存されている場所まで移動しなくてはいけません。コマンドを利用して各自がソースファイルを保存した場所まで移動してみましょう。なお注意しないといけないのは、いきなり遠くのフォルダには移動できないということです。ターミナルに表示されている場所の1つ上か1つ下でないと動けません。地道に頑張ってみてください。
コマンド一覧 | 意味 |
---|---|
cd ~~~ | ~~~の名前のフォルダに移動する |
cd .. | 1つ上の階層に上がる |
ls | 現在の階層にあるファイル(フォルダ)名を表示する |
おそらくこの3つのコマンドさえ使えれば、移動できるはずです。もしわからなければ、検索してみましょう。 |
では、目的の階層にたどり着いたとします。
コマンドで「ls」と打って、下のように表示されればたどり着いています。
PS C:\Users\user_name>test> ls
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2017/05/01 00:00 79 Helloworld.c
PS C:\Users\user_name>test>
MacBook-Pro:test user_name$ls
Helloworld.c
MacBook-Pro:test user_name$
プログラムの実行ファイル作成
さて、ソースファイルの置かれた階層で次のコマンドを入力すると実行ファイルが作成されます。
PS C:\Users\user_name>test> gcc -o program Helloworld.c
MacBook-Pro:test user_name$gcc -o program Helloworld.c
仮にエラーがあった場合は、エラーが表示されますので、エラーをよくみてプログラムを修正してください。
うまく実行ファイルが作成された場合は、何も表示されません。
実行ファイルを実行
ついに最後です。上の項目で「-o program」と入力しましたが、これは実行ファイルの名前を指定するコマンドでした。「ls」を入力したら確認できますが、今いる階層に「program」という実行ファイルが作成してあるはずです。
では、最後に実行してみましょう。なお、実行するときにはファイル名の前に「./」をつけるのを忘れないでください。
PS C:\Users\user_name>test> ./program
MacBook-Pro:test user_name$./program
終わりに
いかがだったでしょうか。
かなり噛み砕いて説明しているところもあるので、もっと理解したいという人はぜひ検索してみてください。今後検索能力というのはとても重要になってきます。ぜひ自力で解決してみてください。
C言語を1日も早くマスターできることを祈っています。