06/03/04 18:54:23
New GCC Heavy on Optimization
URLリンク(www.internetnews.com)
664:名無しさん@お腹いっぱい。
06/03/05 11:34:19
>>663 kwsk
665:!= 633
06/03/05 15:06:27
>>664
十分に詳しいと思うが。もっと必要ならWikiなりML Archiveなり漁るが良し。
666:名無しさん@お腹いっぱい。
06/03/05 17:30:07
「今度こそ、GCC 4.1正式リリース」
URLリンク(slashdot.jp)
667:名無しさん@お腹いっぱい。
06/03/11 16:00:02
4.1使った人、どうよ?
668:名無しさん@お腹いっぱい。
06/03/12 15:01:42
.0のバージョンの割には3.4.0や4.0.0の時よりいい
669:名無しさん@お腹いっぱい。
06/03/13 19:49:58
GCC 4.0.3
URLリンク(kerneltrap.org)
670:名無しさん@お腹いっぱい。
06/03/14 10:19:50
sparc Solaris9 でlibtool と texinfo 入れて --disable-libgcj したらなんとか
gcc4.1.0コンパイルできた・・・
-m64 も使える。さて、何からやるか。
671:名無しさん@お腹いっぱい。
06/03/15 17:53:04
ちょっとコンパイルしてみたけど、以前のバージョンなら通ってたものが
エラーになるね。
error: static declaration of 'XXXXX' follows non-static declaration
とか、、、該当行のstatic外したら通ったが。
672:名無しさん@お腹いっぱい。
06/03/19 02:39:52
4系列になってから、全体的にCの構文に厳しくなったらしい。
muttなんかも構文警告が構文エラーになって、ビルドできなかった事がある。
673:名無しさん@お腹いっぱい。
06/03/19 22:33:39
3も2よりだいぶ厳しくなったといわれてたな。
674:名無しさん@お腹いっぱい。
06/03/20 12:26:36
LLVMまだ?
675:名無しさん@お腹いっぱい。
06/03/25 16:36:31
gcc4.1.0でgcc4.1.0を何回もコンパイルすると不定期にアセンブラが.identが見付からないよと言う壊れたコンパイラになる
676:名無しさん@お腹いっぱい。
06/05/26 15:37:24
gcc4.1.1きた?
677:名無しさん@お腹いっぱい。
06/05/26 17:14:25
>>676
ktkr
URLリンク(gcc.gnu.org)
678:名無しさん@お腹いっぱい。
06/05/30 15:35:05
gcc-4.1.1 Solaris玉砕 T_T);
679:名無しさん@お腹いっぱい。
06/05/30 20:31:56
GCCもそうだけど、GNUのツールってだいぶLinux-centricに
なってきて、広い影響力は以前より落ちている気がするね。
680:名無しさん@お腹いっぱい。
06/05/31 15:24:52
NetBSD-currentなんかも、ずっと3.3.3のまんまだもんな。
*BSDにおいてはGNU関連ツールは使わざるを得ないから使ってると
誰かが雑誌で言ってたな。
681:名無しさん@お腹いっぱい。
06/05/31 20:49:12
NetBSDは只今GCC4に切り替え中。
確かに NetBSD ぐらい CPU に対応してると、それ全部で使えるコンパイラを
新たに用意するのは難しいでしょうね。
GCCでもマイナーなCPUは切り捨てそうですけど。
682:名無しさん@お腹いっぱい。
06/06/27 20:26:29
OpenCC書いてくれTheo
683:名無しさん@お腹いっぱい。
06/09/03 11:45:37
gcc 大きくなりすぎ
もっと軽い free な cc ないんだっけ?
684:名無しさん@お腹いっぱい。
06/09/03 12:14:51
お前には関係ない。
685:名無しさん@お腹いっぱい。
06/09/03 12:17:23
ビーのコアチームとやらで作ればいいじゃんwwwwwwwww
686:名無しさん@お腹いっぱい。
06/09/04 00:21:07
>>683
TenDRAを入れたいんだが未手付
URLリンク(www.tendra.org)
URLリンク(www.ten15.org)
後lccというのがある
URLリンク(www.cs.princeton.edu)
687:名無しさん@お腹いっぱい。
06/09/04 02:43:19
吐くコードが小さくて速けりゃgccが大きくたって問題はなかろうに。
軽い処理系だと十分なoptimizeができるとは思えんが。
688:名無しさん@お腹いっぱい。
06/09/04 13:12:28
gccもそのうちXみたいにモジュール化するんだろうか
689:名無しさん@お腹いっぱい。
06/09/04 14:12:08
TCC: Tiny C Compiler
URLリンク(fabrice.bellard.free.fr)
>>687
小さい軽い処理系に最適化なんて求めないよ
690:名無しさん@お腹いっぱい。
06/09/04 15:46:35
サイズに関する最適化は欲しい
691:名無しさん@お腹いっぱい。
06/09/04 18:40:32
熟女系の作品だとサイズが縮みます。
692:名無しさん@お腹いっぱい。
06/09/04 20:52:37
膨らむ奴もいる
693:名無しさん@お腹いっぱい。
07/10/12 01:45:29
保守
694:名無しさん@お腹いっぱい。
07/10/18 17:53:02
>>681
gccの問題というより、
NetBSDの方がバージョン移行のCPUテスター不足なんじゃないの?
Linuxはバージョン上げるのに成功しているし。
マイナーだと厳しいよね。
695:名無しさん@お腹いっぱい。
07/11/04 14:20:56
>>694
Linuxはとりあえずバージョン上げて、何かあったら大騒ぎするというやり方。
696:名無しさん@お腹いっぱい。
08/02/16 21:02:53
「Linuxは」というほどディストリでgccの扱い共通してない。
カーネルがgcc依存ってのくらい。
697:名無しさん@お腹いっぱい。
08/06/06 17:54:46
Fedora Core辺りは、
> とりあえずバージョン上げて、何かあったら大騒ぎする
のが仕事だしね。
698:名無しさん@お腹いっぱい。
08/06/24 22:58:25
ほう、ついにGCC3.0が出たのか・・・時代の最先端を行く俺には欠かせないツールになるよ
699:名無しさん@お腹いっぱい。
08/08/11 12:31:36
ところで、昔のC言語ではダメだったのに、今のCコンパイラでは
double sqrt(double); に
sqrt(2) とか引数に整数などdouble でないものを書いてもちゃんと
コンパイルして2の平方根の近似値を返すのはどうして?
プロトタイプ宣言を元にして、引数の型の自動変換が行われるの?
それってC++の仕様じゃないかな?
700:名無しさん@お腹いっぱい。
08/08/11 12:46:07
タイムトラベラーの方ですか?
C89以降、関数のプロトタイプ宣言(とそれに基いた昇格)はCでも当たり前の事ですが。
701:名無しさん@お腹いっぱい。
08/08/11 16:11:49
ついでに質問しちゃおう。xを変数とするとき、
x = x++;
という代入文は、結果がどうなるか不定だと思うんだけども、
そこのあたりどうなっているでしょうか?
702:名無しさん@お腹いっぱい。
08/08/11 16:13:33
ム板で聞いた方がよくね
703:名無しさん@お腹いっぱい。
08/08/11 16:21:06
>>701
おいおい、よく見てみろ。(例が悪いよ)
= と ++ の動作が、どちらが先だとしても x の値は +1 されるだろ。
よって、結果がどうなるか不定ではない。
704:名無しさん@お腹いっぱい。
08/08/11 16:22:53
>>701
つ シーケンスポイント
規格持っているならそこを読んで。
ないならググッて。
705:名無しさん@お腹いっぱい。
08/08/11 16:28:20
せっかく2.95を超える世界制覇バージョンとなることが約束された3.0がリリースされたのに
他に言うことはないのか?
706:名無しさん@お腹いっぱい。
08/08/11 16:36:02
ないな。
707:名無しさん@お腹いっぱい。
08/08/11 17:54:18
「シーケンスポイントに関する規約」に適合していないプログラムは
実行結果が保証されないことが分かった。
さて、そうなると、規約を破っているソースコードに対しては、
それを警告してくれるコンパイラの機能が望まれる。
GCCではそのあたりがどうなっているのだろうか?
708:名無しさん@お腹いっぱい。
08/08/11 18:27:46
>>707
試せよ。
709:名無しさん@お腹いっぱい。
08/08/11 22:29:33
もうこの板のスレ2年過ぎたら強制dat落ちにしようぜ・・・
710:名無しさん@お腹いっぱい。
08/08/12 01:20:16
5年先まで見通してスレ立てればいいだけの話
711:名無しさん@お腹いっぱい。
08/08/12 11:18:38
投票所を作って、反対意見が出ないようなら削除依頼とかな
依頼してもなかなか削除されねーけど
712:名無しさん@お腹いっぱい。
08/08/14 10:05:42
>>701
なつかしいな、それ。KYKだっけ?
713:名無しさん@お腹いっぱい。
08/08/14 21:37:52
>>703
それは冗談で言っているのか。
714:名無しさん@お腹いっぱい。
08/08/16 04:42:49
ぐぐった。
URLリンク(www.atmarkit.co.jp)
715:名無しさん@お腹いっぱい。
08/08/18 03:16:26
>>712
Yじゃねえ。
Nだ。
716:名無しさん@お腹いっぱい。
08/08/18 05:34:08
knkなつかしい.
URLリンク(pc.2ch.net)
URLリンク(pc.2ch.net)
URLリンク(home.jp.freebsd.org)
URLリンク(web.archive.org)
717:名無しさん@お腹いっぱい。
08/08/25 03:29:13
このしらいさんという方も勘違いしてますね。
718:名無しさん@お腹いっぱい。
08/10/05 05:53:48 BE:1345128858-2BP(0)
OpenBSDは未だに、2.95ですね。
719:名無しさん@お腹いっぱい。
09/01/11 15:34:03
gccで関数プロトタイプ宣言を自動的に生成する機能があると聞いたのですが、
ぐぐってみてもそのような機能は見つかりませんでした。
もし本当にそういう機能があれば、どなたか教えていただけないでしょうか。
またgccに限らず、*.cから*.hを自動的に生成するツールについておすすめのものがあれば教えてください。
720:名無しさん@お腹いっぱい。
09/01/11 19:31:36
GCC3スレにようこそw
URLリンク(www.kouno.jp)
> 関数プロトタイプの自動生成ソフトはいくつか存在する。多くはlint に手を
> 入れたものになっている。CPROTOというプログラムが1992年3 月に
> comp.sources.miscにポストされた。他にもcextractというツー ルが存在する。
> コンパイラのベンダーの多くは単純なユーティリティー を用意している。
> 質問18.16も参照のこと。(古いコード用にプロトタ イプを生成するときは"狭い"
> 引数に注意すること。質問11.3も参照の こと。)
gccにそういう機能ってあったかなぁ
721:名無しさん@お腹いっぱい。
11/06/11 00:12:40.83
class A { public: A(){} };
class B : public A
{
B() {A::A();}
};
↑こういうコードで、g++-4.1.2だとエラーなし、
g++-4.6.0だと cannot call constructor 'B::A' directly
というエラーが出ます。どう修正するのが適切ですか?
722:名無しさん@お腹いっぱい。
11/06/11 07:25:12.63
>>721
class A { public: A(){} };
class B : public A
{
B() {}
};
で、暗黙的にAのコンストラクタが呼ばれる。
もしくは、渡す引数があれば、
class A { public: A(int arg){} };
class B : public A
{
B() : A(123) {}
};
とする。
723:名無しさん@お腹いっぱい。
11/06/11 08:59:42.53
>>722
ありがとうございます。それでやってみます。
ところで、逆に Bをコンストラクトする時に、
暗黙にAのコンストラクタを呼ばないようにするにはどうしたらいいですか?
724:名無しさん@お腹いっぱい。
11/06/11 09:04:05.21
>>723
理屈上おかしいし、それは多分できない。
実装上は、Aに何もしないコンストラクタを用意すれば、呼ばれてないのと同じことにはなるかもしれない。
725:名無しさん@お腹いっぱい。
11/06/11 09:20:46.87
>>724
できないんですね。わかりました
ところで、最初の >>721 の質問のように
わざわざ継承元のコンストラクタを呼んでるようなコードが
複数のソフトで見つかるんですが
これ、何か意味があったのではないのでしょうか?
それとも、こういう誤解が広範囲に広まっていたのでしょうか?
726:名無しさん@お腹いっぱい。
11/06/11 12:08:55.06
>>725
実はC++に詳しくないので、そういう書き方があったのは初めて知った。
今の言語規格にはないやり方で、わざわざ利用しているとしたら、理由はわからない。
ただ、今の言語規格ではAのコンストラクタは必ずBのコンストラクタに先立って実行されるので、
継承元のコンストラクタを呼んでるようなコードが、Bのクラスの一番初めの実行文でない場合、
処理の実行に影響がないかどうかは気をつけないといけないと思う。
727:名無しさん@お腹いっぱい。
11/06/11 17:30:51.28
>>725
コンストラクタを呼んでるつもりで、実は一時オブジェクトを作って捨ててるだけ、ってのはたまに見る。
公開されてるソフトにそんなの入ってるとは思わないけどな。
ソフト名を晒してくれると面白いかもしれない。
728:名無しさん@お腹いっぱい。
11/06/11 17:36:41.18
初期化子は結構早い段階で規格に入っているしなあ。
"annotated"の頃には入っていたんじゃない?
729:名無しさん@お腹いっぱい。
11/06/11 17:59:56.17
>>727
kdeaddons-3.5.10の中の kate/tabbarextension/plugin_katetabbarextension.h
というファイルでそういう箇所があります。(本家で公開されてるソースです)
gccのバージョンを上げるとエラーになるため、問題が発覚します。