- 1 名前:デフォルトの名無しさん [2006/04/18(火) 19:57:04 ]
- 史上最強かもしれないツール、GCC(GNU Compiler Collection)について語るスレ。
GNU本家のGCCページ gcc.gnu.org/ Binutils - Collection of binary utilities ←これも必要だぞ。 www.gnu.org/directory/GNU/binutils.html GNU Binutils sources.redhat.com/binutils/ GCC online documentation gcc.gnu.org/onlinedocs/ Installing GCC gcc.gnu.org/install/ GCC Timeline gcc.gnu.org/releases.html#timeline Calendar gcc.gnu.org/develop.html#timeline
- 710 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 07:10:41 ]
- います。
- 711 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 07:52:44 ]
- います。
- 712 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 09:01:27 ]
- living roomって日本語でなんだっけ?
- 713 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 09:20:11 ]
- >>712
居室。一般住宅なら居間。
- 714 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 14:52:26 ]
- きょます。
- 715 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 22:22:37 ]
- gcc-4.2.0ってなんで自分のコンパイルにあんなにいっぱいメモリ喰うの?
- 716 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 22:26:53 ]
- います。
- 717 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 23:20:39 ]
- >>715
メモリを使うことで、gccが実際に使える環境かどうかを試験しているのです。 使えない環境なら、ビルド自体ができないというフールプルーフ設計です。 gccのビルドよりメモリを食うソフトはありませんから。
- 718 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 03:31:29 ]
- メモリ256MB
スワップ892MB FreeBSD-currentでgcc4.2使ってxorg7.2コンパイルしたら gcc internal error で落ちるから何だとおもったら swap_pager_getswapspace: failedワロタ
- 719 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 04:00:28 ]
- >>717
C++ならもっとメモリ食うよ
- 720 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 08:13:31 ]
- >>718
スワップとあわせて1G…現状では小さすぎるような。 32bitカーネル環境だとしても、合計で4Gの壁ギリギリかそれ以上とらないと、最近のアプリ全般自体が厳しいかも。 合計1Gだと、デスクトップをXfceなどで、しかもチューンして行かないと厳しいと思う。 もしくはそもそも、ビルドしている間はXやサーバ類を全て切った状態でやるか。 ま、コンパイラ周りでメモリリークしてる可能性もあるので、修正版を待ちましょう:-)
- 721 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 15:33:26 ]
- twmなら快適です
- 722 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 06:47:50 ]
- >>720
そんなことない。 メモリ 256MB、スワップ 1GB 程度でも GNOME だって充分動く。 Xorg のコンパイルでアホみたいにメモリ食うのは GCC のバグだし。 gcc.gnu.org/bugzilla/show_bug.cgi?id=30052
- 723 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 07:11:51 ]
- 4.2のかなり大きなバグがまた一つ…って感じか。
にしても、FreeBSD-currentを筆頭に、gcc-4.2に移行するOSがかなり多いのにはびっくり。
- 724 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 15:53:34 ]
- 4.2はいらない子
- 725 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 16:03:46 ]
- 4.2はダメな子
- 726 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 20:04:47 ]
- >>722
gcc-4.2.0のコンパイルにメモリバカ食いするのもgcc-4.2.0のバグですか?
- 727 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 20:37:33 ]
- 仕様です。
4.2がコンパイルできないようなマシンで使うなということです。
- 728 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 00:18:41 ]
- openmpのコード吐かせてるけど
これ対してというか全然糞もマルチスレッド化されねーぞw どうゆうことよw
- 729 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 00:56:11 ]
- つ export OMP_NUM_THREADS=16
- 730 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 01:16:35 ]
- >>729
それでも全然はやくねーぞ?QuadCore-Xeon2コ積んでるけど なんもはやくね。VCCだと早くなるんだよね。 絶対4.2は障害児だ
- 731 名前:・∀・)っ-くコ:彡- mailto:sage [2007/05/27(日) 02:01:18 ]
- 4.xは何かおかしい。やっぱ3.3が最強か
- 732 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 13:44:26 ]
- >>731
gcc-snapshotが最強
- 733 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 14:56:04 ]
- 3.3.3が一番いい子
4.3がそれを越えるいい子になってくれますように… 多分4.2よりも赤帽拡張の入った4.1.xの方が性能いいと思う
- 734 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 15:01:22 ]
- >>726
つ stage2
- 735 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 15:08:12 ]
- >>733
とはいえ、C++のことを考えるとgcc4が必須になりつつあるからなぁ。
- 736 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 15:08:50 ]
- 一応今入れているのがsnapshot。これだとバージョンが4.2.1って表示されますね。
でも4.2に変えてからJavaのソースからVMをmakeしようとするとエラーが出るようになった(TT) >>731 > 4.xは何かおかしい。やっぱ3.3が最強か 詳しいことはよく解らないけど、マルチメディア系のアプリとかmakeでエラーが出るやつも 3.3とか使うと何故かエラーなしでmakeできたりしてました。以前から。。。
- 737 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 16:06:11 ]
- >>736
つ-fno-strict-aliasing
- 738 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 11:38:36 ]
- それってWarnが厳密にErrorになっただけじゃないのか。
- 739 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 17:44:14 ]
- GCCは3以降特に4.0あたりから、文法以前に論理的に怪しい挙動に陥りそうなコーディングをエラーにする方向に行ってるからね。
逆にいえば、>>736が言っているような形でエラーが出るコードは、該当する部分の前後をチェックしながら修正かけるのが筋。 今でもコンパイルが通ってi386で動いてもPPCやSH,ARM、酷いときはamd64やia64でもコンパイルは通るけど挙動が狂ってしまうようなコードを平気で書いてるひとが少なくないようだし …Linuxなどのカーネル周りのコードでもそういうコードがあって、lkmlなどで修正が飛び交うことがよくある。
- 740 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 20:01:19 ]
- アライメント事情はよくわからんしなー
- 741 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 10:53:10 ]
- openmpは4.2じゃないと使えないの?
- 742 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 16:05:45 ]
- 4.3でもいけると思うけど。
- 743 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 20:55:27 ]
- ディストリがパッチ当てたやつだと4.1でもいける
- 744 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 17:09:48 ]
- gcc4.1で自動ベクトル化を使おうとすると
too many BBs in loop というメッセージが出るのですが、BBって何ですか? それと not vectorized: multiple exits はどのようにしたら解消できるのでしょうか? インテルコンパイラではベクトル化できていました。 その際のオプションは -O3 -xW -ansi_alias です。
- 745 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 04:26:30 ]
- >>BB
Bベクトルに決まってるだろ?
- 746 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 08:33:50 ]
- 真・三國無双BB
- 747 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 09:50:51 ]
- もはやBB戦士の時代ではないのか・・・
- 748 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 12:03:14 ]
- ガチャポン戦士こそ至高
- 749 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 13:31:50 ]
- BBクィ(ry
- 750 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 19:11:33 ]
- gcc.gnu.org/ml/gcc/2007-06/msg00201.html
* Dataflow branch. Kenny et. al. plan to merge this Monday. gcc.gnu.org/ml/gcc/2007-06/msg00206.html I wasn't sure of the Objective-C 2.0 timing until recently... I'd like to contribute it during stage 2. gcc.gnu.org/ml/gcc/2007-06/msg00211.html Intel is planning to contribute Intel BID runtime library before July 1.
- 751 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 02:22:42 ]
- gcc4で、デフォルトで定義されてるシンボルを知るのってどうしたらいいでしょう?
(-D__unix__ とか -D__i386__ とか -D__GNUC__=2 とか) 昔は gcc -v -E - < /dev/null で確認できたのですが、 gcc4からは表示してくれなくなったようなので…
- 752 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 04:52:28 ]
- gcc -dM -E - < /dev/null
詳しくはinfoのPreprocessor Optionsをどうぞ。
- 753 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 10:13:20 ]
- おおおおおおお。
ありがとうございました。一度きちんとinfoに目を通します。
- 754 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 08:23:00 ]
- よーし、おまいら、もう一度
gcc --help と叩くんだ
- 755 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 17:08:52 ]
- $ gcc --help
-bash: gcc: command not found
- 756 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 21:37:42 ]
- ∩___∩
/ ノ \ ヽ | ● ● | 彡 (_●_) ミ /、 |∪| ,\ >>755 この鮭の切り身やるから帰れよ /.| ヽノ | ヽ ,,/-―ー-、, --、 .|_,| r-、,'''";;:;;:;::;;;;:;;::;:;:;;::;:;`'- /_,l,,__ ) |,,ノ;;:;r'" ̄ ゙̄^"`Y'-、;;;::;:;::;:;:;:;::;:| .ヽ,′ ; `"";;;;;⌒゙') ´`゙'''''''''''‐-‐'"`‐-‐'"゛ `゙´ | .‖ / ("___|_`つ
- 757 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 21:58:44 ]
- わろす
- 758 名前:デフォルトの名無しさん [2007/06/22(金) 09:15:00 ]
- 4.2.1マーダーーーー????
- 759 名前:デフォルトの名無しさん mailto:age [2007/06/23(土) 03:33:34 ]
- うまうま
- 760 名前:デフォルトの名無しさん mailto:sega [2007/06/29(金) 18:51:40 ]
- コンパイル(リンク)時に、ある関数をリンクしようとしたら
メッセージを出すようにしたいんだけど どうしたらいいのかね
- 761 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 18:59:32 ]
- >>760
ELFだったら、リンクされる関数のオブジェクト内に".gnu.warning"セク ションを仕込む。
- 762 名前:デフォルトの名無しさん [2007/07/01(日) 00:23:19 ]
- >>761
サンクスコ Cのソースからセクションを仕込む方法は自分で調べる
- 763 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 10:14:19 ]
- link-warning.hでググれ
www.gnu.org/software/gsasl/doxygen/link-warning_8h-source.html
- 764 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 15:17:06 ]
- 素直に .gnu.warning でググりゃいい。
www.google.com/codesearch?hl=ja&inlang=ja&ie=Shift_JIS&num=100&q=
- 765 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 15:18:04 ]
- リンクミスった。こっち。www.google.com/codesearch?q=.gnu.warning
- 766 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 21:52:31 ]
- GCC4.0.2でCygwin上でno-cygwinオプション付けたら定義されてないって怒られた…
- 767 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:15:18 ]
- そりゃそうだ。Cygwin付属のGCCは特製。
自前でビルドしたGCCなら、プリプロセッサ識別子の定義と リンクさせるライブラリの選択をどうにかすれば何とかなると思う。
- 768 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:24:56 BE:396279465-2BP(8000)]
- ありがとう。やってみる。
- 769 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 17:03:47 ]
- 4.3.0がstage2に突入しているね。4.2.0の時とは違って、かなり順調な感じ。
ttp://gcc.gnu.org/ml/gcc/2007-06/msg00954.html
- 770 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 21:34:44 ]
- あと半年程度で出てほしいな…
ディストリパッチ付きの4.1はいい環境だがさすがに飽きる
- 771 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 00:24:19 ]
- 4.2は鬼っ子で終わるか…
- 772 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 04:11:32 ]
- >>771
そもそも、流産させようという意見のほうが強力だったわけだし…
- 773 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 16:58:18 ]
- 4.3はいつ出ますか?
- 774 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 19:34:27 ]
- >>773
ttp://gcc.gnu.org/develop.html#timeline を見るとわかるようにgcc-4.1はstage2入ってからリリースまで約8ヶ月、 4.2は約14ヶ月という具合にバラバラ。 なので、半年以上先だろうなぁという予想は立つけど、いつになるのかは さっぱりわからん。
- 775 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 23:00:06 ]
- どうせ赤帽の都合でしょ?
- 776 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 01:36:09 ]
- ちょっとbinutils/gcc/gdbのツールチェインのビルドについて判らない点が
あるので教えてください。 組み込みだとターゲット用にbinutils/gcc/gdbの3点セットをまず作る訳ですが、 ここでgccのビルド方法としては ・素の、libcなしのgcc(--without-headers)をビルドするのみ ・libcなしgccをビルドした後、そのgccを使って--with-headers=...で何らかのlibcを組み込んだgccをリビルド の2つがあります。で、質問なのですが、 ・後者のgccで-nostdlibすれば、前者のlibcなしgccを使うのと同じことですか? ・前者のgccで別途ビルドしたlibcとリンクすれば、後者を使うのと同じことですか? 色々な構成にあわせてgccをビルドするのが面倒なので、gccとしては libc抜きgccのみ用意して、後はnewlib/uclibc/dietlibc/eglibcを 別途外部ライブラリとしてビルドし、アプリ側ビルドファイルのほうで リンクするlibcを選択するような形にしようかと考えています。
- 777 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 10:30:28 ]
- >>776
libgccどうすんの?
- 778 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 12:53:08 ]
- from GCC ML
------------------------------------------ Subject: 4.2 branch frozen for release I plan to spin the GCC 4.2.1 release tomorrow. Please do not make any further changes to the branch. Thanks,
- 779 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 09:18:52 ]
- #define int64 long int(longとintの間にスペースがあるのがミソ)を
gcc実行時の-Dオプションで実現したいんですが どうすればいいでしょうか
- 780 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 10:12:04 ]
- 自己解決しました
どうもすみません
- 781 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 11:49:28 ]
- typedef を使わないのはソースをいじれないから?
- 782 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 09:33:39 ]
- 糞質問に糞レスw
- 783 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 21:49:21 ]
- 4.2.1キター
- 784 名前:デフォルトの名無しさん [2007/07/24(火) 15:05:58 ]
- >>777
そんなもん使うな。 初期化と割り算を避けまくればなんとかなる。
- 785 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:57:40 ]
- GCC でも VC++ と同じ形の #pragma pack が使えるみたいですが、
これってバージョンいくらくらいから導入されましたか?
- 786 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 19:01:39 ]
- >>785
タラちゃんに聞いてみたら
- 787 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 01:12:40 ]
- プリコンパイル済みヘッダってほとんど使われてないよね
- 788 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 01:20:22 ]
- Mac OS X
- 789 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 01:23:26 ]
- そもそも使い方が分からない
gccをビルドするときにgch作られてるなと思うくらい
- 790 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 19:24:44 ]
- .hをGCCに渡すだけだったような
- 791 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 19:28:57 ]
- pch使うにはちょっとコツがいる。英文ページに解説があるけど...
- 792 名前:デフォルトの名無しさん [2007/08/05(日) 16:22:57 ]
- unsignedをforに使うと警告出るんだね・・・
警告消す方法ないのかなぁ
- 793 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 16:36:51 ]
- >>792
符号有り無しの比較だろ?なら型を合わせろ。
- 794 名前:・∀・)っ-くコ:彡- mailto:sage [2007/08/05(日) 16:51:56 ]
- for (unsigned int i = 0; i < n; i++)
とかなら、n の型が単にsignedなだけだろうが
- 795 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 16:56:22 ]
- ループカウンタとループ上限の値の型ははっきりと揃えるべし。
- 796 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:43:50 ]
- -Wno-sign-compareで消えるはず。
- 797 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:46:35 ]
- それは重要な警告だから解決とは言わん。
- 798 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:47:11 ]
- 消していいのか、と。
- 799 名前:・∀・)っ-くコ:彡- mailto:sage [2007/08/05(日) 18:53:01 ]
- 電車の脱線が起きても無視すれば運行に支障なしって言ってるのと変わらん
- 800 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:54:05 ]
- 集中砲火ワロタ
- 801 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 19:03:53 ]
- ダンゴ先生の発言はいつもピリリとしてるな
- 802 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 21:02:22 ]
- スレが進んでるかと思えばこんなかw
- 803 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 11:42:17 ]
- その質問をコンパイラのスレに書き込む時点で腐ってる
- 804 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 08:55:47 ]
- g++ 使って独習C++の例文ためしてたらそのままでは、エラーがコンパイルできなかった。
template <class T> class Num { public: T x; Num(T i) { x = i; } virtual T get_val() { return x; }; }; template <class T> class Square : public Num<T> { public: Square(T i) : Num<T>(i) {} T get_val() { return x * x; } }; を一応継承したクラスで、"x"を"Num<T>::x"としたらコンパイルできたけど、 他のコンパイラでためしたら↑でもできるんだが、このままで、g++で通すこと出来ませんか?
- 805 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 09:05:10 ]
- >>804
そのままじゃ無理。 this->x でもいける。 gcc.gnu.org/gcc-3.4/changes.html "In a template definition, unqualified names will no longer find members of a dependent base ..."
- 806 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 12:01:20 ]
- >>805
サンクス
- 807 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 10:57:04 ]
- インラインアセンブラの構文を知りたいと思い、
4.21のgcc.infoを読んでいるのですが、 5.35 Assembler Instruction with C Expression Operands しか見つからず、制約に関することしかわかりません。 構文はどこに載っているのでしょうか。
- 808 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 11:02:05 ]
- as.info
- 809 名前:807 mailto:sage [2007/08/08(水) 21:24:08 ]
- アセンブラの構文ではなく、
インラインアセンブラの構文なんですが...
- 810 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 22:46:48 ]
- 制約については
gccint.info か gcc/config/*/*.{c,h,md} を眺めれ。 ターゲットとか記述したいものを書けば誰か答えてくれるんでね?
|

|