WSLでプログラミングをしよう!
スポンサーリンク
はじめに
こんにちは。talosです。
前回はWSLの環境構築をしました。
でも、あのままではまだプログラミングなどはできません。
そこで今回はプログラミングをするための最低限の環境を作り、実際にコードを書いてみます。
下準備
初期設定では海外のサーバーにデータを取りに行くようになっているため、インストールに時間がかかります。
そこで、次のコマンドを実行してください。
sudo sed -i -e 's%http://.*.ubuntu.com%http://ftp.jaist.ac.jp/pub/Linux%g' /etc/apt/sources.list
するとパスワードを入力されるように促されるので、前回設定したパスワードを入力しましょう。
これで、日本のサーバーにデータを取りに行くようになりました。
次にパッケージのアップデートを行います。
次のコマンドを実行してください。
sudo apt update sudo apt upgrade
パッケージのアップデートはできるだけ頻繁に行うようにしましょう。
プログラミングをするための準備
まず、プログラムを書くためにはテキストエディタが必要です。
今回はemacsをインストールしますが、気に入っているテキストエディタがある方はそちらをインストールしてください。
emacsのインストールは次のコマンドを実行するだけです。
sudo apt install emacs
インストールが終わったら次のコマンドを実行してみましょう。
emacs --version
バージョンが表示されれば正しくインストールされています。
次に、開発ツールをインストールします。
今回は練習ということでC言語の開発ツールをインストールします。
次のコマンドを実行してください。
sudo apt install build-essential
こちらもインストールが終わったら次のコマンドを実行してみましょう。
gcc --version
gccはC言語やC++などのコンパイラで、コンパイラは人間が書いたソースコードをコンピュータが読めるように変換するプログラムです。
変換することをコンパイルといい、これをしないとプログラムを実行できません。
プログラミングをしてみる
まず、
emacs sample.c
と打ってみてください。
ちなみに、「sample.c」はファイル名で、「.c」はC言語の拡張子です。
先ほどまでと違う画面が表示されたと思います。
ここからがプログラミングです。
次のソースコードを書いてみましょう。
※ 必ず半角文字で書いてください
#include <stdio.h> int main(void) { printf("Hello, world!\n"); return 0; }
書けたら「Ctrlキー」を押しながら「x」を押し、続けて「Ctrlキー」を押しながら「s」を押しましょう。
(今後、以上の操作をCtrl-x Ctrl-sと表記します。)
すると下のほうに「Wrote /home/○○/sample.c」と表示されたと思います。
これでこのファイルが保存されました。
そしたらCtrl-x Ctrl-cでemacsを終了します。
ソースコードの説明は後にして実行してみましょう。
まず、次のコマンドでコンパイルします。
gcc -o sample sample.c
「-o」オプションで実行ファイルに名前を付けることができます。
今は実行ファイルに「sample」と名付けました。
ls
を実行すると「smaple」というファイルが作成されていると思います。
では、プログラムを実行しましょう。
次のように打ち込んでください。
./sample
すると「Hello, world!」と表示されたのではないでしょうか。
「./sample」は前回の記事で説明した通り、「カレントディレクトリにあるsampleという名のファイル」を指しています。
talosta.hatenablog.com
つまり、実行ファイルの名前を打てば実行されるので、絶対パスで指定しても大丈夫です。
ただし、カレントディレクトリを省略して「sample」と打っても実行できないので注意してください。
プログラムの説明
それでは先ほど書いたプログラムの説明をします。
#include <stdio.h> int main(void) { printf("Hello, world!\n"); return 0; }
1行目の
#include <stdio.h>
は「stdio.h」というヘッダファイルをインクルードしています。
ヘッダファイルには様々な関数が書かれています。
つまり関数を使えるようにするおまじないのようなものです。
では、関数とは?となると思います。
簡単に言うと何度も使う処理をひとまとめにしたものです。
「stdio.h」はほとんど毎回使うような関数が書かれているので、C言語で書く時には必ず書くようにしましょう。
3行目の
int main(void)
はmain関数という特別な関数です。
一番最初に実行されます。
関数を作る場合は「戻り値の型 関数名(引数1, 引数2, ...)」と書き、その後の{ }の中に処理を書きます。
つまり、voidという引数を取り(voidは空という意味なので実際には引数を取らない)、int型(integerの略、整数型)の値を返すmain関数を定義しています。
5行目の
printf("Hello, world!\n");
は「stdio.h」内のprintf関数というものです。
C言語の標準出力の関数です。
「""」の間にある文をコンソール画面に出力します。
ちなみに「\n」は改行文字といいます。
名前の通り改行してくれます。
先ほど関数の定義の仕方は説明しましたが、関数を使うときは「関数(引数1, 引数2, ...)」と書きます。
そして文の最後に「;」を付けます。
ほとんどの文には「;」を付けます。
つまり、付けない文もあります。(付けても問題はありません)
付ける付けないの区別はここに書くときりがないので、経験から学んでください。
7行目の
return 0;
はreturn文というもので、「return 戻り値」と書きます。
main関数の戻り値はint型と宣言したので、int型の0を返します。
C言語のmain関数では正常終了の場合0、異常終了の場合0以外の値を返すそうです。
おわりに
今回はWSLでプログラミングをする準備をして、超基本的なプログラムを作ってみました。
これからについてですが、プログラミングの基礎が書かれたサイトは山ほどあるので、そこら辺をすっとばして応用編に移っていこうと思います。