This is C言語によるスモールツール講座 <Small tools with C Language.>
暫定的カットです。やれやれ。
for Title |
|
for
openLaboratory |
|
for Programs |
|
スモールツール講座 |
for Small tools |
|
|
Contact With |
(索引の終わり<end of Index>)
(索引)
(雑談の終わり<end of talks>)
at: 10/5/03 4:55:19 PM JMT
とりあえず、フィルター型ツールと、シェル型ツールについての講義をおこない、その後、それ以外の形式のツールについての模索を行おうと考えている。
(オリエンテーション)
詳しくは、C言語のページを参照のこと。
以下に、ソースコード[1] 全部を掲載する。
0 #include <stdio.h>
1 main(){
2 printf(“Hello world\n”);
3 }
以上である。
このプログラムは、以上の4行からなっている。古典的なC言語とコンピュータ言語に関する議論によると、単純なメッセージを表示するツール、ということになる。ユニックス[2]というOS[3] のシステムV[4](ファイブと呼ぶ。)関連のC言語プログラマーにとっては、別の議論も知られているようである。[5]
ダウンロード
hello.exe関連 :10/5/03 5:34:55
PM JMT cabフォーマット、近藤敏郎
(C言語によるスモールツール講座 講義0 「hello world 」から始めよう。)
at: 10/5/03 4:55:31 PM JMT
コマンド名は、「duplicate : 複製を作る。」からである。
フィルター型である。
ソースコードの開始。
#include <stdio.h>
int main(int argc, char *argv[])
{
FILE *fp;
char c;
while(
!feof(stdin) ){ /* EOF
loop */
if((c=getchar())
== EOF){ break; } /* 1char
input & EOF check */
putchar(c); /* 1
char put */
}
return(
0); /* normal
terminate */
}
ソースコードの終了。
以上が、全ソースである。
C
言語関連の問題に関しては、プログラム講座 C言語編を参照のこと。例えば、各関数の仕様などについてが、この分類に当てはまる。
基本アルゴリズムは、単純である。
【ファイルの終りまで、1文字入力して、1文字出力するのを繰り返す。】
以上である。
フィルター型ツールと、フィルター型ファイル構造の基本となるアルゴリズムである。
ちなみに使用している関数は
feof :File
End Of File で、feof。ファイルの終りまで来ているなら、真の値を返す、ストリーム関数群[6]の一つ。
Getchar :標準入力からの1文字入力。マクロ定義されている関数。ストリーム関数。
Putchar :標準出力1文字出力関数。マクロ定義されている関数。ストリーム関数。
return :基本制御関数。C言語の基本仕様に含まれているが、一応関数扱いするのが、すじと言う関数[7]である。
以上である。
動作に関しては、そのまま起動した場合、コントロール+C又は、コントロール+D で、終了する。
前者 コントロール+Cは、プログラム中断。
後者 コントロール+Dは、EOF入力。エンド オブ ファイル入力。
である。
dupl.exe関連 :10/5/03
5:34:55 PM JMT cabフォーマット、近藤敏郎
(スモールツール講座 講義1 mytype.exe 自前のタイプコマンド)
At: 10/5/03 4:58:18 PM JMT
(C言語によるスモールツール講座 講義
shell.exe シェルコマンド)
アーカイブ
head.cab head
フィルター型ツール。コマンドライン。
replace.cab replace
binary 対応型、単語置換フィルター。コマンドライン。
(アーカイブ)
<end of contents.>
[1] ソースコードとは、コンピュータ関連の冗談などでおなじみの、ソースと言われるものである。プログラムをやっていると深夜に、訳の分からない冗談に付き合わされることがあるのだが…、犬がらみの冗談だったりすることが多い、と思う。広島と徳島をはじめとした地域では、事情が異なるのかもしれないが…。 コンパイルされる前のプログラムで、原始ソースと言われるものである。詳しくは、コンピュータのページを参照のこと。(まだ記事がないかもしれない。) 近藤
[2] UNIX ™ と表記しなければならないのと、ベル研究所が、コピーライトの所有者であること記載しないといけないのも、又、このOS関連の常識であったりする。 近藤
[3] OS、オペレーティングシステムといわれるもの。意識しないで使っていることが多いかもしれない。プログラムを行なうようになると、一般ユーザとは見え方が異なる、ものであるが、とりあえず、単純な翻訳をあげておく。 近藤
[4] 脚注としてはここまで。とりあえずである。 こちらの事情と言えそうである。 近藤
[5] 例によって、札幌のバカが、「C言語なら俺! 」などと、「たらまる」で知られている岩内関連の通産省関連のバカのように、はじめたみたいなので、ここいらで、ひとまず。 近藤
[6] ファイルの操作には、幾つかの扱い方がある。簡単にまとめると、高水準と低水準、ストリームと非ストリームという分類分けに基づいている。それ以外にも、関数の制定の兼ね合い(歴史的経緯ともいえる。)から、分類分け以外の扱い方も、残っている。 近藤
[7] コマンドという言い方もあるが、ここでは関数と言う言い方を用いる。 近藤