パスワードを忘れた? アカウント作成
8018 story

gcc 3.4.0 リリース 42

ストーリー by Oliver
母なるコンパイラ 部門より

daisuke 曰く、 "gcc 3.4 がリリースされました。 変更点はたくさんあるのですがやはり C++ のプリコンパイルヘッダーのサポートが大きなところでしょう。 ダウンロードはミラーのリストから近いところを選ぶとよいでしょう。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • C++のparserが (スコア:3, 興味深い)

    by yuu3261 (11831) on 2004年04月23日 12時52分 (#536989)
    yaccから手書きの再帰下降パーサに置換されたってのもなかなか興味深いですね。
    A hand-written recursive-descent C++ parser has replaced the YACC-derived C++ parser from previous GCC releases. The new parser contains much improved infrastructure needed for better parsing of C++ source codes, handling of extensions, and clean separation (where possible) between proper semantics analysis and parsing. The new parser fixes many bugs that were found in the old parser.
    • Re:C++のparserが (スコア:1, 参考になる)

      by Anonymous Coward on 2004年04月23日 13時59分 (#537029)
      Matzにっき [rubyist.net]でも、yacc絡みの問題にちらっと触れてましたね。
      親コメント
    • Re:C++のparserが (スコア:1, 参考になる)

      by Anonymous Coward on 2004年04月23日 17時54分 (#537150)
      C++ の構文に曖昧性(形式言語理論用語のほう。「規格の文章がどっちにも解釈できる」の意味ではないので注意)があって、LR構文解析ではつらいことは、当初から知られていることです。

      int (x);

      ある意味で、言語設計のミスです。

      親コメント
  • by route99 (7593) on 2004年04月23日 0時33分 (#536791) 日記

    Eclipse 2.x will run out of the box using gij.

    というのがとても気になります。
    • by Anonymous Coward on 2004年04月23日 13時39分 (#537017)
      Fedora Core 2 では GCC 3.4 でネイティブバイナリにコンパイルした tomcat が収録される予定です。試してみましたが既に動いてますね。 Eclipse も収録してくれると学習用にいろいろと楽でいいんですけど。
      親コメント
      • by shigezo (2455) on 2004年04月23日 14時50分 (#537052) 日記
        > GCC 3.4 でネイティブバイナリにコンパイルした tomcat

         おろろ、このTOMCATって性能どのくらい違うのでしょう?
         ちょっと今TOMCATの性能で問題有りのプロジェクトにいるので
         かなーり気になりますなぁ

         OSがRedHat9なんですがその上でもコンパイルして動かしたり
         できるのかなぁ・・・出来て性能良ければ使ってみたいなぁ

         重蔵
        親コメント
        • by Anonymous Coward on 2004年04月23日 16時30分 (#537078)
          今動かそうとするとやや面倒ですね。 FedoraCore 2 の test 版をインストールして、それをベースに rawhide にアップグレードしないと tomcat は動きません。 rawhide にするとほぼ全パッケージの入れ換えになります。 週明けに三回目の test 版がリリースされる予定なので、それには gcc3.4 に加えて動く Tomcat, mod_jk2, commons, ant 等が入っているはずです。 あと、この tomcat は 4.1.27 です。 実運用に近いアプリケーションでテストしてくださるのは Fedoraプロジェクトとしても大歓迎でしょう。
          親コメント
      • by Anonymous Coward
        naokoプロジェクトなんてのがあります。
        http://people.redhat.com/gbenson/naoko/
        ここでのパッケージはgcc3.5ssaでコンパイルされていてgcc3.4.0な環境では動きませんけど。
    • by Anonymous Coward
      それは最大の変更点だな。
    • by Anonymous Coward
      確かFedoraCore2にこれでネイティブ化したEclipseを搭載するというものがありましたけどどうなったんでしょうか?
      確か雑誌では開発者用のサイトにもバイナリがないとか言ってたような…。

      # 個人的には非常にネイティブEclipse欲しいです
      # FedoraCoreはUTFだし今後Javaと相性が良くなる?
  • arm/xscaleサポート (スコア:2, 参考になる)

    by Anonymous Coward on 2004年04月23日 19時28分 (#537214)
    主にPDAなどで採用されているXscale/ARM系には、

    -浮動小数点サポートの変更
    -Wireless MMX(PXA270)をサポート
    なんていうのがあるみたいですね。

    実際にテストした結果 [xrea.com]でも、結構なパフォーマンスの改善が見受けられるようです。

    #WirelessMMXは、普通にコード書けば勝手に適用してくれるんでしょうか。
    #だとしたらすごいなあと思いますが。
  • by Ryo.F (3896) on 2004年04月23日 11時32分 (#536940) 日記
    ソースを示せないんだけど、この場合、大文字のGCCを使うべきなんじゃなかったっけ?C、C++、Pascal、Fortranなど、多数の言語を扱えるパッケージとしてのGCC(GNU Compiler Collection)は大文字、Cコンパイラコマンドであるgccは小文字。

    しかし、意外に反応ないねぇ... 今時コンパイラを使う人は少ないんでしょうか?ま、私自身、Cのソースを書かなくなって久しいですが。最近はすっかりRuby三昧です。
    • by fuchikoma (2044) on 2004年04月23日 11時39分 (#536948)
      コードを書くこと自体がそれほど多くはありませんが。
      書くとすると自分もRubyですね。
      # あとはPHPをちょっぴり
      親コメント
    • 本業が忙しくてのう。週末に現実逃避をかねて引っ張ってくるかー。

      評価予定の言語はC, C++, Java.
      興味のある部分は、SSE2対応度・MMX対応度・AMD64コードの質・プリコンパイルの使い勝手・(gcjの)Sun javacとの生成コード比較。

      # 2年前にC++でスタンドアロンでmakeすると30分、分散コンパイル作って投入したら5分に縮まったがプリコンパイルやっぱり欲しかったという現場にいたのでID

      親コメント
    • Re:GCC or gcc (スコア:1, 参考になる)

      by Anonymous Coward on 2004年04月23日 12時35分 (#536979)
      >> 今時コンパイラを使う人は少ないんでしょうか?

      日常的にgcc使ってますが、最近は「cygwinのアップデートで入れる」「FreeBSDのアップグレードでデフォルトのgccのバージョンが上がる」って感じの使い方なので、「gccがリリース」って言われても「ふーん」っていう反応しかできないんですよね。

      ま、Javaな人とか(もしかするとC++な人とかも?)バージョン上げると良いことあるのかもしれないけど、gcc上でベタなCだけで生きてる人間からすると、現時点で何も困ってないので、わざわざ試す気にならないっつーのが本音ですね。
      親コメント
    • by zeissmania (3689) on 2004年04月23日 12時45分 (#536984)
      >今時コンパイラを使う人は少ないんでしょうか?
      他にもレス付いてますが、新しいバージョンのGCCをすぐ使ってみるということは、ほとんどないですねぇ。
      普段使っているディストリでは2.96だし、仕事で使っているクロスコンパイラは2.95だし。
      テンプレートの扱いがバグバグだから、早く3.3以降にしたいのだけど、なかなか周りと合わせて移行するとなると難しいです。
      親コメント
    • Re:GCC or gcc (スコア:1, 興味深い)

      by Anonymous Coward on 2004年04月23日 14時35分 (#537047)
      C書いてるといってもK&Rとlibcばかり。
      C99,libg,pthread,gcなどは使えない。よって彼らと一緒にやるプロジェクトでは使わせてもらえない。
      20世紀でプログラミング学習を止めた世代はそろそろ現場に口出すのやめてほしいです。

      自分は今でも一線のつもりだろうけれど、かつてのCOBOL,Fortran使いと同じ立場になっちゃってますよ。
      親コメント
      • by Ryo.F (3896) on 2004年04月23日 16時45分 (#537083) 日記
        不思議なことに、つい先日COBOLプログラマの引き合いがありました。

        いまどきK&Rだけ、ってのもすごいつーか、つらい、つーか。
        でも、C99もどうかと言う気もしますね。GCC3.3でも完全にはサポートされてません [gnu.org]からねぇ... C++との互換性も問題になりそうですし。

        でもまぁ、機会があったらC99も勉強して使ってみたいと思います。が、その機会が来るかどうか...
        親コメント
      • by Anonymous Coward
        この場合のgcって何ですか? garbage collection の略くらいしか思い浮かばないんですが、 「gc」だけで通じるほどポピュラーなゴミ集めの実装は知りません。
        • by Anonymous Coward

          gcc の大盛りパッケージには UNIX でメジャーな GC ライブラリが同梱されてるんですが。

        • by Anonymous Coward
          ポピュラーな実装があったらその名前を書きますよ。
          無いからソフトのする仕事の名前を書いたわけで。
          gc = garbage collection は知られてる略だし。
          • by tiny (14608) on 2004年04月23日 18時47分 (#537183) 日記
            Boehm GC [hp.com]辺りはメジャーだと思うけど。

            GCC3とかw3mが使ってます。
            親コメント
          • by Anonymous Coward
            単語として知られていても、他の三つと次元が異なると思いますが。
            gc は一般概念だから「自分で実装する」という選択肢もありますし。

            今どき素の C で書くということは、どうしても高い実行性能が
            欲しい (とくに、最悪の場合の処理速度を保証し
            • by Anonymous Coward
              > gc は一般概念だから「自分で実装する」という選択肢もありますし。
              その手間がかかるから、流通してるの利用したいんだってば。
              まさに「libcだけ」の発想ですね。

              >GC を使って開発効率が上がるなら、
              >最初から GC ありの言語で書いたほう
      • by Anonymous Coward
        libgってlibg++?
        だとしたら強烈にobsoteteな罠。
      • by Anonymous Coward
        >C99,libg,pthread,gcなどは使えない。
        ちなみにC99ってどのコンパイラ使うつもりなの?
        どの程度の規模のプロジェクトを想定してるか解からないけど、趣味のプログラミングじゃないんだから枯れた技術を選択するのは悪くないと思うけど。
        確かにSTLとか使うと便利すぎて、自分で同じようなクラスや関数用意するのバカらしくなるけどね。
        • by uxi (5376) on 2004年04月25日 12時07分 (#537914)
          個人的にはC99ってコンパイラ側でサポート必要な機能よりも
          標準ライブラリのが有難いと思うんですが。
          # stdint.h の uint32_t 等。
          --
          uxi
          親コメント
    • by signed-coward (17953) on 2004年04月23日 18時47分 (#537184) 日記
      気にはなったのですが、
      みんな使っているようでいて、
      GCC、というかコンパイラって実は意外とバージョンアップがピンとこないもの、なのかもしれません。
      まぁ、私の場合は、違いがわかるぐらいまで熟達しているわけではないというのもあるのですが(^^;;;

      業務ではバージョン指定されているので変更出来ませんし、
      そもそもメイン言語が ANSI C なので、あまり変更に対してのメリット/デメリットが無いという……。

      自宅で少し試してみたいと思います。
      個人的にはC99にどのくらい対応できたかが気になるところ。
      # まだ正式には対応出来ていないようですが……
      親コメント
  • のでコンパイルできないコードが出るかもしれないとどっかのMLで出ていたのですが、実際どうなんでしょうね?

    過去のコードの継承性がライブラリレベルで失われる(例えばxmultiとか)だけでも面倒臭いどころかプロジェクト次第では致命傷になるのに、コンパイラレベルで継承性を失うと滅茶苦茶な事になるので不安があるのでおしえてえらいひと。って事です。

    # そりゃ、基本に忠実でない事をやるのはいけないのでしょうけど、
    # 組込み系でアセンブラで書くと移植性がどーこーって場合なんかは
    # キャスト廻りでトリッキーな事をするのが解になることも往々にして
    # あるので…

  • Tuning for K8 (スコア:1, 興味深い)

    by Anonymous Coward on 2004年04月24日 0時47分 (#537350)
    個人的には
      Tuning for K8 (AMD Opteron/Athlon64) core is available via -march=k8 and -mcpu=k8.
    が気になってます。いままでなかったので。さぁemerge -e world(gentoo)だ。
  • by Anonymous Coward on 2004年04月24日 5時04分 (#537400)
    -fsched2-use-superblocks や -fsched2-use-traces を
    profile といっしょに使っても全然速くならん……。
typodupeerror

最初のバージョンは常に打ち捨てられる。

読み込み中...