• コマンドプロンプトを実行し,最初の作業フォルダが自身のホームであ ることを確認せよ.
• cd src¥unzip60win を実行し,前回ダウンロードしたアーカイブが指定 場所に展開されていることを確認せよ.
• 指定場所に展開されていない場合,move 等のコマンドを使い,指定場 所に移動した上で,上記の確認を行なえ.
• 問題1: 上記の作業後に,現在の作業フォルダをホームに戻すための コマンドを答えよ.
• できれば一コマンドが望ましいが複数コマンドの列でもよい.
• 問題2: 作業フォルダがホームだとして,src¥unzip60win¥man¥ の下の ファイル一覧を表示するためのコマンドを答えよ.
• これも一コマンドが望ましいが複数コマンドの列でもよい.
• メールの件名は 4/23 exercise 1
31
参考 unzip60win 下のフォルダ構成
32
アプリはどのように検索されるか?
• コマンドプロンプトでは,PATH と呼ばれる値に基づきアプリを検 索します.
• しかし,本授業で用いるテキストエディタやコンパイラは初期設 定ではPATHに含まれません.
• この初期設定の変更もできますが,本授業では行ないません.
• そこで,mingw.bat もしくは mingw2.bat を用います.
33
34
プログラムの開発の流れ
プログラミング 手作業
エディタを使用
コンパイル
機械が理解できる 表現に自動変換
実行
生成された アプリを使用
(ソース)プログラム (ソースコード
hoge.c 等)
アプリケーション (実行ファイル) (ロードモジュール
a.exe 等) hoge.c
a.exe
gcc
再掲載
本授業での開発に使うアプリ
• (テキスト)エディタ
• emacs 30年以上前からあるエディタ.
• 多数のOSでの稼動実績がある.
C:¥emacs¥bin¥runemacs.exe
• notepad++ 昨今に開発されたWindowsらしいエディタ
C:¥Program Files¥Notepad++¥notepad++.exe 等
• コンパイラ
• gcc GNUというプロジェクトで開発されたコンパイラ.
• 多数のOSでの稼動実績がある.
¥MinGW¥bin¥gcc.exe
• その他,MinGWには,Linux/UNIXで使われるコマンドも入っており,
それらも利用可能.
• 別に利用しなくてもよいが,Windowsのコマンドより便利なものもある.
• 教員の多くがこちらのほうが詳しいため,ついついデモでつかってしまうかも.
35
テキストエディタとは?
• 純粋に文字データの列としての文書を作成するた めのアプリ.
• ただし,改行文字や空白文字等は扱うことができる.
• ワードプロセッサ(ワープロ,MSワード等)と違い,
以下のような機能はない.
• ページレイアウトの設定,ページサイズや縦横長等.
• 文字の大きさ,種類,色の変更や,下線等の飾り.
• 段落の字下げや箇条書き.
• 図表の挿入.
36
何故,エディタを使うのか?
何故,ワープロを使わないのか?
• ワープロは人間が読む本や小冊子(レポート等)を作るため のアプリである.
• レイアウトや文字修飾等の見た目も重要.
• 一方,これから開発するプログラムは,コンパイラ(gcc)が 読むためのデータである.
• 冊子上でのレイアウトや修飾は無意味.
• その代わり,プログラミング言語の特徴を強調する必要がある.
• これらの強調は手動でつけるのではなく,エディタが文法を認識して,自 動でつけてくれる.
• エディタとワープロは似てはいるが,成果物の読者が異な るのである.
37
リアルなプログラム例
38
アプリ unzip.exe を構築するには,
このファイルを含む
153個のファイルが必要.
総行数は約8万2千行.
復習
基本的な使い方 emacs
• 起動 runemacs ファイル名
• 文字を入力すれば文字が入る.
• カーソルキーで入力位置が変わる.
• 実は他の方法のほうが一般的.
• カーソル位置の前の文字を消す [back space]
• カーソル位置の文字を消す ^D
• コントロールを押しながらDを押すの意味
• ファイルを保存する ^X^S
• 終了する ^X^C
• その他,メニューから呼び出せる機能もある.
39
画面例
40