電子書籍の厳選無料作品が豊富!

以下のHPにあるように、gcc3.3から3.4にアップグレードするのは、ちょっとややこしそうです。

http://www.gentoo.org/doc/ja/gcc-upgrading.xml

gccのバイナリだけを置き換えると、何がよくないのでしょうか。ビルドの時、gcc本体の他にもなにかを使っているのでしょうか。

A 回答 (3件)

>gcc本体の他にライブラリが必要ということは、gccが必要とするライブラリはダイナミックリンクライブラリということなのでしょうか。



file /usr/bin/gcc とかするとダイナミックかどうかわかります。
仮に、gcc cpp cc1 ld等がスタティックリンクされていても、コンパイルしたプログラムをリンクするならその際にライブラリが必要です。

>ライブラリの他に、例えばどういったファイルを利用しているのでしょうか。

プリプロセッサ(cpp)やCコンパイラ本体(cc1)等のプログラムや、ヘッダファイル。ヘッダファイルとライブラリは対になります。
    • good
    • 0
この回答へのお礼

とてもわかりやすいご回答ありがとうございます。コンパイラのことをまだまだ知らないということがわかりました。もっと勉強したいと思います。

お礼日時:2008/04/08 01:08

その「専用ページ」にちゃんと「C++ ABI が変更になった」って書いてあるやんか.


ABI が変更になったということは必然的にライブラリも変更しなきゃならんし, そうすると場合によっては当該ライブラリを使う全てのプログラムを更新しなきゃならんかもしれない.
単に「gcc を更新する」だけなら簡単なんだけど, ライブラリまで更新されちゃうから面倒.
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。ABIの意味がわからず、調べて理解したつもりでも、ライブラリが変更になることまでは思いつきませんでした。もっと勉強します。ありがとうございました。

お礼日時:2008/04/08 01:10

ライブラリなど多数のファイルを入れ替えるためです

    • good
    • 0
この回答へのお礼

早速のご回答、ありがとうございました。
gcc本体は、ライブラリなどをリンクした状態で作られたものと思っていたので、そういうことは考え付きませんでした。
gcc本体の他にライブラリが必要ということは、gccが必要とするライブラリはダイナミックリンクライブラリということなのでしょうか。
あと、ライブラリ「など」と書かれていますが、ライブラリの他に、例えばどういったファイルを利用しているのでしょうか。
よろしければ、ご教示下さい。

お礼日時:2008/04/06 22:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!