SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

パソコン基礎知識 C 言語編 (その一) プログラミング言語 C

■はじめに

  ・コンピュータに目的の動作や計算を実行させるためには、プログラムと言う
    命令コードが、CPU の演算プロセッサに送られなければならない。
    CPU の演算プロセッサは、2 進数の命令コード(マシン・ニーモニック) を
    順に実行していく。機械語と呼ばれるこのコードは、CPU によって異なる。

  ・マシン語(機械語) で、プログラミングするには、CPU のニーモニック表が
    あれば良い。但し、数バイトのプログラミングに要する時間は膨大である。

  ・マシン語をもう少し人間が作りやすくしたのがアセンブリ言語である。
    通称アセンブラと呼ばれるこの言語は、マシンニーモニックと対になってい
    る。2 進数命令が MOV、ADD などのアルファベット命令で記述できる。
    16 bits CPU あたりまでは、絶対パフォーマンスを求めて OS などもアセン
    プラで開発されるのが普通であった。
    80386 20MHz ぐらいまでは、私もちょくちょく利用した。
    アセンブラはマシン語に比べればずいぶん生産性が良いが、今日の高級言語
    の比ではない。また、Windows プログラミングのように構造が複雑になった
    今、とてもアセンブラで書けるものではない。
    アセンブラも CPU が違えば、また別の命令コード形態で書き直す必要があ
    る。コンパクトで最高速であるが、生産性は最低で移植性も悪い。
    もっとも、インテルの 8086 アーキテクチャがパソコン CPU の独壇場だっ
    たので、そう移植問題が発生することもなかったようである。

  ・今日、Windows 界は、Visual Basic、Visual C++ など、比較的簡単にプロ
    グラムが作成できるようになっている。
    しかし、逆に言うと Windows のデバイスドライバなどローレベルインタフ
    ェースプログラムを作れる人は少ない。ローレベルインタフェースには、
    やはり、アセンブラに近い知識と技術が必要とされる。

  ・この「パソコン基礎知識 C 言語編」では、Windows プログラミングや Web
    プログラミングを離れて、標準的な C 言語プログラミングを説明する。
    基本がわかっていれば、Windows C プログラミングにも挑戦できるし、機械
    制御などの分野にも転用できる。
    Windows の C プログラミングは、簡単に説明することができない。
    いつか、時間が許せば、Windows C プログラミング資料も作ってみたい。

■プログラミング言語 C

  ・C 言語は UNIX では当たり前であるが、アセンブラに近いことから事務処理
    など多方面に使用できる。
    ただ、事務処理を C で開発するのは馬鹿げている。
    絶対スピードを必要としない処理なら、VB など、もっと簡単で開発効率の
    良い言語がある。

  ・C 言語のメリットを活かそうとすれば、機械制御の分野、OS の開発、デバ
    イスドライバー、市販ソフトの開発などだろう。
    個人的にはフリーソフトも C 言語で作られたものがすきである。
    VB はランタイムがうっとしくてかなわない。

  ・C 言語の中には、インラインアセンブラが書けるものもある。
    また、C++ 言う C を拡張したオブジェクト指向言語もある。
    なぜか、C++ は大嫌いなのである。実行ファイルは大きいし、動作スピード
    も遅い。しかし、最近は C++ で作る人がほとんどと思う。

  ・C++ は、プリプロセッサと言えるかもしれない。
    プリプロセッサとは、中間的な翻訳処理を言う。
    PRECOBOLE は、COBOL ソースへのプリプロセッサ言語である。
    C++ も中間的に C ソースへのプリプロセッサとして動作しているのでは
    ないだろうか。

■C 開発環境設定

  ・C の性能を引きだそうとすれば、適切な開発環境設定が欠かせない。
      コンパイラ
      オプティマイザ
      メッセージ
      リンカ
      ライブラリアン
    など、注意深く設定しておく。

■パソコン基礎知識 C 言語編資料
■プログラミング言語資料
■パソコン基礎知識 ハード編資料
■パソコン基礎知識 画像編資料
■パソコン基礎知識 Windows 編資料
■コンピュータシステム導入編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2024 Y.SAK