2011.12.13
前へ
次へ
目次へ戻る
ホームページトップへ戻る

パソコンをつくろう!(パソコン自作のすすめ)
組み立てキットを使って自作に挑戦!

[第268回]


●パラレルポート出力プログラムのコンパイルと実行

前回からの続きです。
前回はパラレルポート出力プログラムをテキストエディタで書いて、それをあらかじめ用意しておいた作業用のフォルダWorkに保存しました。
Ubuntu11.10にはC/C++用のフリーのコンパイラgccが最初からインストールされていて、すぐに使うことができます。
C/C++プログラムのコンパイルと実行は「端末」で行ないます。
「端末」については[第245回]で説明をしました。
WindowsのDOSプロンプトと同じような機能です。

「端末」を開いて、workフォルダに移動します。


一番上の行の
cd work[Enter]
でworkフォルダに移動しました。

cd(チェンジディレクトリ)は、どのフォルダにでも移動できるということではありません。
cdコマンドは現在のフォルダのすぐ下のフォルダに移動するコマンドです。
端末を開くと、ホームフォルダになります。
workはホームフォルダの中(下)に作成しましたから、cd workで移動できるのです。

次の行の
gcc outtest1.c[Enter]
でコンパイルをしています。
何も表示されなければ、コンパイルは完了です。

え?というくらい実に簡単です。
これで実行形式プログラムが作成されています。
ソースプログラムouttest1.cのあるworkフォルダにa.outという名前で実行プログラムが作成されています。
gccコマンドの実行時にパラメータを指定して実行プログラムに名前をつけることもできますが、今回のように何も指定しないときは、いつもa.outという名前になります。

さていよいよ実行です。
今回のプログラムはルートとして実行しないとSegmentation Faultというエラーが表示されて実行できません。
これはプログラム中のioperm()を実行するのにルート権限が必要だからです。
そこでsudoをつけて実行します。

sudo ./a.out[Enter]

a.outは普通のコマンドと同じようにそのまま入力して実行することができますが、今回のworkフォルダのようにパスが通していない一般のフォルダにあるプログラムを実行するときは、上のように ./a.out としなければ実行できません(a.outに限ったことではありませんが)。
./をつけないで、sudo a.out とすると、not foundと表示されてしまいます。

さてそれで、
sudo ./a.out[Enter]
と入力すると、パスワードを要求されますから、Ubuntuをインストールしたときに設定したパスワードを入力します。
●●●も***も何も表示されませんから、気持ちが悪いですがそのまま正しくパスワードを入力して、最後に[Enter]を押すと、
無事パラレルポート出力プログラムが実行されて、LEDが10回点滅したのち、コントロールがシステムに戻って、下の行にカーソルマークが点滅しました。

これで、簡単なパラレルポート出力プログラムを書いて、実際にUbuntu11.10で実行できましたから、めでたし、めでたし、ということなのでありますが。
前回リストをお見せしました、パラレルポート出力プログラムに、ちょいと気になるところが出てきてしまいました。
今回は時間がなくなってしまいましたので、それにつきましては、次回に説明をすることにいたします。

パソコンをつくろう![第268回]
2011.12.13upload

前へ
次へ
目次へ戻る
ホームページトップへ戻る