next up previous
次へ: 課題2 上へ: 課題 戻る: 課題

課題1

実験11のアプリケーションのopencloseと各種ioctlの処理 をライブラリ化しなさい。

自分のライブラリ関数の名前は自由である。また、引数の数や名前も自由で ある。自分の使いやすいライブラリにすること。

実験11のアプリケーションの各処理を自分の作ったライブラリ 関数に置き換えて、独立したアプリケーションファイルにしなさい。

このアプリケーションと自分の作ったライブラリをコンパイル・リンクして 実行ファイルを生成しなさい。

実行して動作を確かめなさい。

ライブラリ化する前に、アプリケーションのopencloseと各種 ioctlの処理をmainの外に出して実行できることを確かめるとよい。

手順としては、簡単なものから順に外に出すとよい。最初にopen処理だけを 外部関数にしてみる。実行できたら、次にclose処理を外部関数にすると いうようなぐあいである。

すべての処理を外部関数にできたら、この外部関数だけの部分とmain関数の部 部分に分け、それぞれを独立したファイルにする。

直接ライブラリを作って失敗しないように、ライブラリを作る前に、この外部 関数ファイルとmain関数だけのアプリケーションファイルを分割コンパイ ルして実行ファイルを生成してみるとよい。(実験14テキスト P.15 の中段を参 照)

この実行ファイルの動作が正しかったら、この外部関数ファイルを独立したライ ブラリにすればよい。(実験14テキスト P.15 の下段を参照)

アプリケーションとライブラリが共通に使う変数やプロトタイプ宣言などはグロー バル変数にすればよいが、これらをまとめてヘッダーファイルにすれば見通しが よくなる。

複素数のライブラリや分数のライブラリをどのように作成したかを思い出すこと。



MANOME Yoichi 平成18年12月26日