つつみくんのLinux記

つつみくんのLinux記

PR

プロフィール

つつみくん

つつみくん

サイド自由欄

つつみくんのLinux記は、自宅のLinux「Fedora14」と、モバイルのLinux「Netwalker」と「Ubuntu10.10ノート」と「EeePC Ubuntu」で作っています!
リンク、トラックバックなども大歓迎です。(^^)♪
お買い物は↓コチラから

カレンダー

キーワードサーチ

▼キーワード検索

March 17, 2008
XML
カテゴリ: Linux記
Linuxを使っていて、一番安心できるところは、プログラムのソースがあるというところです。(^^)

ソースが公開されていることをオープンソースといいますが、このソースとはいったいどんなものでしょうか。

たとえば、画面に「Hello(^^)」と表示されるhelloコマンドがあるとします。

このソースコードを、見てみると、

#include <stdio.h>

int main(void)
{
printf("Hello(^^)\n");
return 0;
}

という感じになります。

一番最初の行の#include <stdio.h>というのは、通常の入出力命令が使えるようにするものです。

このプログラムでは、画面に文字を表示するprintfというコマンドを使っていますが、これを使うためにstdio.hをインクルードしているということになります。

そのほか、mainとreturnというものが使われていますが、これは、このプログラムが実行されると、mainの後の{}で囲まれた部分が実行されて、rerurnでプログラムが終了するということを表しています。

こうやって、人間の分かる文法で書かれたコードの事を、ソースコードと言います。

このソースコードがあるということは、とっても便利なことなのですが、なにが便利なのかが、ちょっと分かりづらいですね。(^^;)

たとえば、上の「hello(^^)」を表示するソースコードをhello.cという名前で保存してみます。

そして、64bitのFedoraのコマンドラインから、

gcc -o hello hello.c

とすると、「hello」という実行ファイルが出来上がるのでした。

これを./helloとして実行すると、

hello.(^^)

というメッセージが画面に表示されるのですが、このhelloというファイルを、そのまま32bitのUbuntuノートにコピーして実行しても、

bash: ./hello: cannot execute binary file

というメッセージが出て、実行出来ません。(^^;)

ところが、hello.cの方をコピーして、Ubuntuでビルド(構築)してあげれば実行出来るファイルが作られるのでした。

ためしに、Ubuntuで、

gcc -o hello hello.c

とやってみましたが・・・stdio.hが無いというメッセージが出てきました。(><)

これは、ソースコードが間違っているのではなく、Ubuntuをインストールしても、C言語でビルドする環境が入らないのでした。(^^;)

気を取りなおして、

sudo apt-get install build-essential

Synaptic_build-essential .png
↑あるいは、Synapticパッケージマネージャから、build-essentialをインストールすると、

ビルドパッケージ.png
↑ビルドに必要なパッケージがインストールされますので、

gcc -o hello hello.c

とすると、今度はきちんと実行ファイルが作られました。(^^)

という訳で、ソースコードさえあれば、それをいろんな環境でビルドすることで、CPUが32ビットか64ビットかということも関係なく、実行するファイルがいつでも作れるのでした。

しかも、Linux自体のソースコードがある訳ですから、多少手直しは必要かもしれませんが、64ビットでも、128ビットCPUでも、動かすことが出来るということになります。

ということで、私の紹介したプログラムは、簡単すぎて参考にならないかもしれませんが、これからプログラムを勉強したいという方や、C言語は知っているけど、最近全然プログラムを作っていないという方も、Linuxでプログラミングをしてみてはいかがでしょうか?

もしかすると、あなたの作ったプログラムが、後世に残るなんていうことがあるかもしれませんよ。(^^)

(つづく)





お気に入りの記事を「いいね!」で応援しよう

最終更新日  March 17, 2008 11:01:16 PM
コメント(14) | コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Create a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: