• 検索結果がありません。

I: Windows Subsystem for Linux

N/A
N/A
Protected

Academic year: 2021

シェア "I: Windows Subsystem for Linux"

Copied!
7
0
0

読み込み中.... (全文を見る)

全文

(1)

計算機言語

I: Windows Subsystem for Linux

Windows Subsystem for Linux(WSL) この資料は

http://www.math.u-ryukyu.ac.jp/~suga/gengo/2020-1/02.pdf

にも置く予定です. Web class への login が面倒な時は, こちらを読んでください.

注意事項

今回の資料は, WIndows 10 を利用する人向けです. Windows 10 Visual Studio , とても重い処理系 , 簡単なプログラムの作成にも, (特にその起動に) 時間がかかります. もう少し軽快に C の学習をするた めの一つの方法です. なお, この資料の内容を実行せず, Visual Studio をそのまま使い続けても, 受講する

(2)

1 WSL の導入手順

WSL とは, Windows 10 Linux と同じコマンドが実行できる環境のことです. ただし, グラフィカルな 環境を導入するのは, (不可能ではありませんが) 面倒なので, ここでは, C コンパイラは WSL で」,「 エ

ディタは Windows のもので」という, ハイブリッドな環境を構築します.

1.1 Windows 10 の設定

ますは, Windows 10 WSL が動くようにするための設定をします (通常は, 動かない状態になってま

). この設定を変えるには, Windows 10 の管理者権限が必要です. 1. スタートボタンを右クリックして, 「アプリと機能 (F)」を選ぶ.

2. 現れたウィンドウの右上方の関連設定に「プログラムと機能」というリンクがあるので, そこをクリッ クする.

3. 現れたウィンドウの左上方の「Windows 機能の有効化または無効化」というリンクがあるので, そこ をクリックする.

4. 現れたウィンドウをスクロールして, Windows Subsystem for Linux」の欄にチェックを入れる. 5.OK」ボタンを押してしばらくすると, 再起動を要求されるので「今すぐ再起動」をクリックして,

起動する.

(3)

1.2 WSLのダウンロードとインストール

1. Microsoft Store にアクセスする.

2. Window 右上の「検索」ボタンをクリックして, WSL を入力して検索する.

3. Linux のディストリビューションがいくつか出てくるが, ここでは,Debian」を選ぶ.

4.「入手」ボタンをクリックすると, サインインを促す Window になるが「必要ありません」を選んで 良い.

5. パッケージのダウンロード (78MB くらい)がとインストール始まるが, 終了すると, 右上に「起動」ボ タンが現れるので, これを押す.

6. Windows のコマンドプロンプトが現るが,Enter New UNIX username:」のプロンプトで停止する.

7. . これは, WSL の管理者としてのユーザの設定なので, 適当な名前 (なんでも良いが半角アルファベッ

トが後々楽)を入力して, Enter を押す.

8.New password:」のプロンプトが現れるが, これは, 管理者になる際に必要なので, 適切なパスワード を設定する.

9.Retype new password:」のプロンプトが現れるので, もう一度同じパスワードを入力する.

上で, Debian を選んだのは, 「軽い」という部分と, 私が比較的使い慣れているからです. 他のディスト

リビューションを選んでも構いませんが, 講義資料は, Debian を前提に書きます. (gcc のインストールあた

(4)

1.3 C の処理系の導入

上の状態では, Linux のコマンド(例えば ls) の多くは実行できるが, C の処理系はまだ入っていないので, 次のようにして入れる.

1. sudo apt update と入力して (空白に注意) Enter を押す. (これは, Linux のソフトウェアパッケージ データを最新にするため)

2. パスワードを聞かれるので, 上で設定した WSL 管理者のパスワードを入力する, 3. パッケージデータのダウンロードが始まるので, しばらく待つ.

4. sudo apt install gcc と入力して Enter を押す.

5. Do you want to continue? [Y/n] と聞かれるので, Y 入力して Enter.

6. 割と大きな処理系なので, 導入に数分の時間がかかる.

7. 終わったら, gcc -v と入力して Enter を押す. gcc (Gnu C Compiler) のバージョン表記が英語で出力 されれば, C の処理系の導入は終わりです.

次に起動するときには, スタートボタンから, Debian を選べば, 上のウィンドウになります.

(5)

2 エディタ

素朴な WSL では, vi とか nano というエディタしか使えず. これを初心者が利用するのは, 大変そうで (慣れれば, vi は便利なのですが). また, Visual Studio のエディタ (Visual Studio code), 高機能です , 起動に時間がかかる上に, C.のソースの標準のファイル識別子.c での保存が面倒です. システム付属の

「メモ帳」は, ソースコードエディタとしては, 使いづらいです.

上のような理由があるので, Windows 用のフリーソフトのテキストエディタを利用して C のソースを書 くことが, 合理的な気がします. 私自身, 普段 Windows を使っていないので, 何が良いのか見当がつきませ . 目についた「サクラエディタ」を挙げます. ネットで検索して, ダウンロード, インストールしてくださ . (他の良いのを知っている, あるいは普段使いのエディタがあるのならそれでも良いです.)

サクラエディタのダウンロードサイト(GitHub)からダウンロードするのは, 最新版の最後がInstaller.zip となっているファイルです. ダウンロードした後, zip ファイル(データが圧縮されたファイル) を右クリッ クで展開し, できたフォルダの中に実行可能ファイルを, ダブルクリックします.

その際, Windows Defender が警告ウィンドウが出た場合には,「詳細情報」をクリックすると現れる「実

行」ボタンをクリックします. インストールオプションは, 意味がわかれば, 適当に設定してください. 分か らなければ,「次へ」ボタンをどんどんクリックして下さい.

重要 エディタは他のを使っても構いませんが 保存するファイルの文字コードは にして下さい

(6)

3 ハイブリッドな処理系の使い方

上のように, WSL C コンパイラと, Windows のエディタを組み合わせて使うには, 次のようにします.

Windows のファイルブラウザ (エクスプローラー) で「ドキュメント」の中に, 授業用のフォルダを作り

ます. フォルダ名はなんでも良いのですが, 例えば「C」とします(鉤括弧は引用符の意味で, 半角大文字 C 一文字の意味, この辺に全角文字とか空白文字は使わない方が楽).

ここに, Windows のエディタで, C のソースコードを保存していきます. 保存の際に, 文字コードが

UTF-8 になっていることに注意します (もう一つ, \(バックスラッシュ) Windows 10 では¥で表示され ます). 古いエディタだと, 基本の文字コードが SJIS (Shift JIS) だったりするので, 注意すること.

例えば, C のソースコードを hogehoge.c というファイル名で, 上のフォルダ C に作成したとします. WSL C コンパイラで, hogehoge.c を処理するには, 次のようにします.

1. WSL (この資料だと Debian) をスタートボタンから起動する.

2. cd /mnt/c/Users/(ユーザ名)/Documents/C , ワーキングディレクトリを, 上で作ったフォルダ C に移す. ここで, (ユーザ名), Windows 10 のユーザ名で, WSL のインストールの時に作った, WSL 管理のためのユーザ名ではありません.

3. cc hogehoge.c (または gcc hogehoge.c)とタイプして Enter を押すと, ソースコードがコンパイルさ れます.

4. できたファイルを実行するには, ./a.out として Enter.

(7)

前ページの補足です. 絶対パス, ホームディレクトリ, cd などは, 計算機概論 I の講義を復習してくだ さい.

• WSL では, 実行開始時のホームディレクトリが, 隠しフォルダの中にあります. それを探し出して使う のは, ちょっと面倒です.

• WSL では, Windows 10 があるディスク(Windows でいう C ドライブ) , 絶対パスで/mnt/c です. なので, 前ページの cd , Windows のホームフォルダの中のフォルダへのワーキングディレクトリの 移動になります.

参照

関連したドキュメント

キー操作は一定の間隔をあけないとキー入力音がしても、全桁入力されない場合が ありますのでご注意ください。 ② 【V930のみ】バックライト設定

(1) “htpasswd .htpasswd ユーザー名”と入力し、「Enter」キーを押しま す。 パスワードの入力行が表示されます。

char moji=65; これは, char型の変数moji にAscii値が65の文字大文字のAを代入して初期化するという, Cの仕様と しては正しい記述です.. しかし, char型の変数に整数値を代入しているわけですから,意味的には変です.「文 法的には正しいが,冷静に考えると意味がおかしい.」というような仕様は,本来策定すべきではありませんが,

しばらくすると青空のバックグランドとともに login 画 面になりますから, 先程説明したアカウントを入力して Enter キーを押します.

このように , 元の値 のコピーが代入される処理を , 値渡し (call by value) と言います... という形で

このことを利用して list 8–9 と同じ動作をするプログラムを書くと , list

前期に述べたディレクトリ ( フォルダ ) を用いたファイルの整理や , コンパイラの使い方などは ,

教科書に対するコメント プログラム11.2 教科書, プログラム11.2 はわかりづらいソースの典型例で, このようなプログラムを書いてはいけません し,現在では, 実際上書くこともありませんプログラム 11.4のようなものを利用する... なにが分かりづら いかというと,プログラムのfor文の中のif文 if str2[i]=str1[i] == ’\0’