Silphire 曰く、 "gcc 3.2がリリースされました。Changesによれば、今回のリリースでは、ABI(Application Binary Interface)への完全準拠、x86-64でのバグの修正が行われています。"C++のABIが安定した、とのことで、いよいよライブラリやらアプリやらの一斉移行がはじまるのかな。ちなみに、GCC 3.1.1とのバイナリ互換性ないそうだ。
ミラー・リスト (スコア:2)
誤解してました (スコア:1, 参考になる)
バイナリ互換性って? (スコア:1)
→バージョンアップすれば当たり前
→ホント?
Re:バイナリ互換性って? (スコア:3, 興味深い)
Re:バイナリ互換性って? (スコア:1)
とりあえず、自分の頭の中がC言語だと言うことがわかりました。
Re:バイナリ互換性って? (スコア:2, 参考になる)
> →ホント?
そう書いてあるんだから本当でしょう。
もちろん、C++ のバイナリの互換性がないだけで、
C のバイナリ同士ならリンクできるけどね。
「C++ の名前→シンボル名」の変換規則が変わったとか、
C++ バイナリが暗黙的にリンクしているシンボル名が変わったとか、
そういうことなんだと思うが。
ちなみに 2.95→3.0 の時点でもC++のABI互換性なかったよ。
# mishimaは本田透先生を熱烈に応援しています
2.9x, 3.0, 3.1, 3.11, 3.2 (スコア:1, 興味深い)
どれが一番速いコードを吐くか。バグが少ないか。
どなたか、これだけは避けたほうがいいとか、これがお勧めというのがあったら、教えてください。
Re:2.9x, 3.0, 3.1, 3.11, 3.2 (スコア:1, 参考になる)
問題を限定しないと答えようがないと思います。
(例えば、Cの話か、C++の話か、その他(Fortran等)か、 CPUはどれか、等々)
コードの質以前に、gcc-3でコンパイルできないものが少なからずあるので、
私はgcc-2.95.3(Vineの)とgcc-3(今朝3.2にした)を 両方使っています。
個人的には、mmx,sse,sse2,3dnowやathlon-xp/mp,pentium4
といったオプションの効果に興味があります。
ABI への準拠 (スコア:0)
A common C++ ABI for GNU/Linux とやらへの準拠だと思います。
C++ ではクラスライブラリの ABI 互換性を保持するのに並々ならぬ
努力が必要になるので、まあがんがれ、って感じか。
Re:ABI への準拠 (スコア:1)
どうにも、今の GCC の C++ ABI を
「A common C++ ABI for GNU/Linux」にしていきたい、
と言ってるように見える。
> 注意・これは現時点で将来の全ての gcc-3.x との ABI 互換性を
> 保証するものではないからね。
> でもまあ、gcc-3.3 と gcc-3.2 の互換はできるだけ
> 頑張るつもりだけど。
(超抜粋・超意訳)
なんて言ってるしさ。
# mishimaは本田透先生を熱烈に応援しています
Re:ABI への準拠 (スコア:0)
ドキュメントにも「A common C++ ABI for GNU/Linux」と書かれている部分と「C++ API」とだけ書かれている部分があるようですね。Linux以外は相手にしてないってことなのか?!(被害妄想)
それとも、これ(C++ ABI)ってLinux以外のプラットフォームにも何かメリットはあるんでしょうか?Linuxをエミュレートしやすくなるとか??
Re:ABI への準拠 (スコア:3, 参考になる)
ようするにベンダー製の OS 上の ABI はそのベンダーによって決められてて GCC のリンカもそれに準拠するのみだけど、Linux や BSD 系などのフリーソフトウェアのプラットフォームを定義してきたものは事実上 GCC で、慎重にリードする立場にあるんだと思います。