次のページ 前のページ 目次へ

3. GCC のインストールと設定

3.1 GCC のバージョン

現在利用している GCC のバージョンはシェルプロンプトから gcc -v と入力することでわかります。またこのコマンドによって現在のセットアッ プが ELF か a.out かもわかります。私のシステムでは以下のようになります。

$ gcc -v
Reading specs from /usr/lib/gcc-lib/i486-box-linux/2.7.2/specs
gcc version 2.7.2

出力のうち注意すべきキーワードは以下のようなものです。

i486

この gcc が 486 プロセッサ向けにビルドされたことを示しています。読者の システムでは 386 や 586 が表示されるかもしれません。これらのシステム のどれかでコンパイルされたバイナリは他のどのチップでも実行させるこ とが出来ます。 486 gcc でコンパイルされたプログラムでは、 486 チップで 高速に動作するようなコードがあちこちに埋め込まれています。このことによっ て 386 下での実行時の性能に有害な影響が出ることはありませんが、バイナ リのサイズは少々大きくなります。

box

これはまったく重要ではありませんで、他のものに置き変わっている (slackwaredebian など)ことや、そもそもまったく現れない こともあります(つまり全体で i486-linux のようになります)。 もし自分自身で gcc をビルドする場合には、好きな値をセットして格好良く 見せることもできます(私はそうしてます :-))。

linux

これは linuxelflinuxaout となることもあ り、更に面倒なことには gcc のバージョンによってこれらの意味あいが変わっ ています。

2.7.2

バージョン番号です。

したがって私は ELF コードを出力する 2.7.2 版の gcc を使っていることに なります。そうだったのか!

3.2 インストール先のディレクトリ

gcc のインストールの時によそ見をしていた場合や、バイナリパッケージ の一部として gcc をインストールした場合、ファイルシステムのどこを探せ ば gcc があるのかを知りたいことがあるかもしれません。以下重要なものを 示します。

3.3 ヘッダファイルの在処

利用者各自が /usr/local/include にインストールするものを 除くと、 Linux で主に利用されるヘッダファイルは以下の 3 つになります。

3.4 クロスコンパイラの作成

Linux で実行するバイナリを他のホストでコンパイルする

gcc のソースコードがあればその中の INSTALL ファイルの指示に従うだ けでできるはずです。コンパイルを行うコンピュータの種類が XXX でし たら configure --target=i486-linux --host=XXX として make す れば、すべてやってくれるはずです。ただし実際のコンパイルには Linux 特 有のヘッダファイル、カーネルのヘッダファイルが必要になりますし、クロス アセンブラ、クロスリンカのソースを ftp://tsx-11.mit.edu/pub/linux/packages/GCC/ から入手してそれぞれビルドする必要があります。

MSDOS の実行バイナリを Linux でコンパイルする

うーん。 "emx" パッケージとか "go" エクステン ダなどを使うと可能になるそうです。 ftp://sunsite.unc.edu/pub/Linux/devel/msdos を見てみて下さい。

私はこれらを試したことがないので、性能について保証することはできません。


次のページ 前のページ 目次へ