空間情報処理のためのプログラミング演習−Windows系−

言語にもいろいろな種類がありますが、ここではC言語について解説することにします。それはバイナリーの画像処理に適していること、様々な処理系がありますが、フリーウエアも多数あること、そして何よりも筆者がなれていることが最大の理由です。FORTRANやBASICも商用ソフトウエア以外に優れたフリーウエアがありますが、いずれ紹介することにします。

C言語の教科書は書店でたくさん見つけることができると思います。簡単そうなのを選んで一度、通読して実際に演習問題を解いてみることをお薦めします。その教科書が自分のバイブルになりますよ。

基礎勉強は自分でやることにして、以下ではC言語を使って画像データを処理するちょっとしたテクニックを紹介します。目次は不定期に更新して行きますので、時々立ち寄ってください

1.プログラムの作成から実行まで
2.プログラムは貯まるとお宝
3.様々なプログラムの事例

1.プログラムの作成から実行まで

プログラムを書くということは、言語の文法に則して、計算の流れを記述するファイルを作ることです。簡単なC言語によるプログラムを紹介しましょう。これは、コンピューターの画面にEarthCare Programと表示させるプログラムです。

#include <stdio.h>
main(){
    printf("EarthCare Program\n");
}

これをEarthCare.Cとしてセーブします。C言語ではプログラム名に"C"の拡張子をつけます。この段階ではプログラムといっても単なるテキストファイルに過ぎません。そこで、コンパイラと呼ばれるソフトを使って、これをコンピューターが理解できる形式に変換します。しかし、これだけでは実行はできません。

プログラムの中に、printf()という関数があります。これは()内に書かれたテキストを画面に表示させる機能を持っています。C言語のユーザーはprintf()関数を使えば簡単に画面表示ができるので便利なのですが、実はこれ自体コンピューターのハードウエアにアクセスして、ディスプレーに文字を表示させる機能を持ったプログラムなのです。

でも、普通のユーザーはそんな難しいプログラムを作ることはできませんよね。そこで、C言語の処理系は最初から便利な関数を準備して、コンピューターが認識できる形で持っているのです。これをライブラリといいます。

そこで、コンパイルの次にライブラリをリンクする作業を行うことによって、実行できるファイルが作成できるのです。この一連の流れは処理系によって異なりますが、メイク(make)とかビルド(build)と呼ばれています。操作はエディタのような統合環境上で行うもの、コマンドラインで行うもの等いろいろありますが、筆者が慣れ親しんでいるVisualCの画面を紹介しましょう。

(クリックして拡大)

画面の中に、プログラムが書かれています。メニューに[ビルド]がありますが、この中にある[ビルド]を選択すると、コンパイル、リンクと進み、エラーがなければ実行形式のファイルが指定されたフォルダに出来上がります。下のウインドウにコンパイル中...、リンク中..と表示され、エラーなしで終了していることがわかります。プログラムに文法上のエラーがあった場合は、ここに表示されますので、プログラムを修正します。

コマンドプロンプトで実行してみましょう。EarthCare.cからEarthCare.exeが生成されていることがわかります。EarthCareと入力してエンターキーを押すと、"EarthCare Program"と表示されました。めでたし、めでたし。

コマンドプロンプトはあまりなじみがないかも知れません。[スタート]−[プログラム]−[アクセサリ]の中にあり、"WINDOWS\system32\cmd.exe"が本体です。コマンドプロンプトはLinuxのシェルに相当するもので、キーボードからコマンドを入力することでプログラムを実行させることができます。

コマンドプロンプトのショートカットをデスクトップに置いておくと便利でしょう。WindowsXPではあまりデスクトップにアイコンを置くことを奨励していないようですが、よく使うアイコンはデスクトップにあると便利です。ショートカット作成後、プロパティーで[作業フォルダ(S)]をユーザーが使うフォルダに設定しておきましょう。

コマンドプロンプトには様々な機能がありますが、また後で解説しましょう。特に、複数のプログラムをバッチ処理(一括処理)する機能は大量データ処理に欠かせない機能です。

次のステップへ。