GCCについて part8
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/10/13(土) 00:07:39GNU本家のGCCページ
http://gcc.gnu.org/
Binutils - Collection of binary utilities ←これも必要だぞ。
http://www.gnu.org/directory/GNU/binutils.html
GNU Binutils
http://sources.redhat.com/binutils/
GCC online documentation
http://gcc.gnu.org/onlinedocs/
Installing GCC
http://gcc.gnu.org/install/
GCC Timeline
http://gcc.gnu.org/releases.html#timeline
Calendar
http://gcc.gnu.org/develop.html#timeline
前スレ
GCCについて part7
http://pc11.2ch.net/test/read.cgi/tech/1145357824/l50
0237デフォルトの名無しさん
2008/02/04(月) 02:42:19gccじゃなくて
0238デフォルトの名無しさん
2008/02/04(月) 02:56:440239デフォルトの名無しさん
2008/02/04(月) 11:11:06> なんかそういうプロジェクトをどこかで見たような
> gccじゃなくて
COINS?
0240デフォルトの名無しさん
2008/02/04(月) 11:24:340241デフォルトの名無しさん
2008/02/04(月) 13:41:11つまり、拡張仕様の入力から独自仕様の出力を得ている模様。
0242デフォルトの名無しさん
2008/02/04(月) 15:55:420243デフォルトの名無しさん
2008/02/04(月) 16:55:04まずyacc & bisonの勉強
次に http://gcc.gnu.org/readings.html , GCC-specific Literature
特にtoy example languageとRTL
C++拡張ということならOpenC++ (今はもう更新してないみたいだが)
0244230
2008/02/04(月) 20:11:15>>240
構文チェックなどについては GCC に実装されている部分を流用し,
interact させたいので,独立した preprocessing は今のところ考えていないです.
>>243
色々助言していただいて本当に助かります.
0245デフォルトの名無しさん
2008/02/05(火) 01:21:21wxWidetsっていうのを使ってプログラミングしてるんですが、
g++ -o hello2 hello2.o `wx-config --libs`
みたいにやると
/usr/lib/gcc/i486-linux-gnu/4.1.3/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
って言われてしまい、コンパイルできません。何がいかんのでしょう??
これだけだと分からないと言われそうなのですが、ソースがちょっと長いので・・
でも参考サイトの指示通りに書いた簡単なプログラムなので、ソースじゃなくて何か基本的な設定とかが間違ってるんじゃないかと思ってここに来ました。
OSはubuntu7.1.0です。他のプログラムならコンパイル出来ている状態です。(やはりソースが間違ってるんでしょうか・・)
どなたかアドバイス頂けると幸いです。
0246デフォルトの名無しさん
2008/02/05(火) 01:24:07http://alohakun.blog7.fc2.com/?all
ILogScriptがgcc4.xに対応してほしいぜ。
誰かやってくれよ。
0247デフォルトの名無しさん
2008/02/05(火) 01:27:100248デフォルトの名無しさん
2008/02/05(火) 01:31:180249245
2008/02/05(火) 04:35:12247さんありがとうございましたm(_ _)m
0250デフォルトの名無しさん
2008/02/05(火) 05:21:072月初旬の予定だそうだよ。
0251デフォルトの名無しさん
2008/02/05(火) 19:35:15未だにこれが直ってないのでr300の人はご注意を。
0252デフォルトの名無しさん
2008/02/06(水) 01:48:52またおまえかw
0253デフォルトの名無しさん
2008/02/06(水) 07:53:050254デフォルトの名無しさん
2008/02/06(水) 09:43:58> R800でもいいけど。
懐かしいね
0255デフォルトの名無しさん
2008/02/06(水) 12:29:30なんか最近、wxの・・・更に言うならwx-configの話題をよく見かけるな
どこかで流行ってるのかね
0256デフォルトの名無しさん
2008/02/09(土) 23:35:10VC++でいうとプロパティ -> リンカ -> 参照の「参照されないデータを除去する」です。
GCCのバージョンは4.2.2で、組み込み向けのクロス環境です。
0257デフォルトの名無しさん
2008/02/10(日) 00:08:40んで、--as-neededがそれなのかな?よく知らないいけど。
gccから渡すには、-Wl,LFLAGSのようだけど。
0258デフォルトの名無しさん
2008/02/10(日) 00:11:14正直スタティックリンクまわりは普段使ってないのでどうにも...
0259デフォルトの名無しさん
2008/02/10(日) 01:16:300260259
2008/02/10(日) 01:30:59関数だけじゃなく、グローバル変数も除去したいなら、-fdata-sectionsも要るな。
「データ」って書いてあるので一応補足。
>>257
それは、ライブラリを必要に応じてリンクしろというオプションだから今は関係内ね。
ldに渡すのは--gc-sectionsだったかな。
0261256
2008/02/10(日) 01:45:00-ffunction-sections -Wl,--gc-sectionsを試してみましたが、目立った効果は無いみたいです。
COFFなのが原因かもしれないです。
0262デフォルトの名無しさん
2008/02/10(日) 01:50:37ELFのstatic linkでしか試したことが無い。
0264デフォルトの名無しさん
2008/02/10(日) 09:33:30また手書きのパーザに戻したらしいよね。なんでなんだろ?
普通にパーザジェネレータ使ってた方が、何かと便利だろうに。
0265デフォルトの名無しさん
2008/02/10(日) 09:48:34C++がLALRでパースするのはキツい変態言語ってだけでは。
0266デフォルトの名無しさん
2008/02/10(日) 10:25:440267264
2008/02/10(日) 13:25:54なんか下のpdfの冒頭、凄いこと書いてるな。自然言語パーザの方がふさわしいって?
いや辞書片手に読んでるだけだから、誤読かもわからんけど。
まあ上手く動いてるなら、いいか。。。
できるだけ、へたな努力はしないで欲しいんだけどな。。。
つか、パーザジェネレータ使う方が「へたな努力」になってしまうって事?
・・・あれ?そうすると、「へたな努力」って何なんだっけ?
ちょっと電波板で独り言つぶやいてくる。
0268デフォルトの名無しさん
2008/02/10(日) 13:40:19>従来のアプローチよりも C++ のパースに向いている事を発見した。
って書いてあるね。
GLR法
http://ja.wikipedia.org/wiki/GLR%E6%B3%95
0269デフォルトの名無しさん
2008/02/10(日) 13:42:00それでも bison は使えないんだろうか?
0270デフォルトの名無しさん
2008/02/10(日) 15:38:050271デフォルトの名無しさん
2008/02/10(日) 15:55:34馬鹿げた方法だけど C++ なら全部ヘッダに inline で書く手もw
0272デフォルトの名無しさん
2008/02/10(日) 18:27:31C++って、自然言語に匹敵しかねないほど文法が複雑ってことか……
0273デフォルトの名無しさん
2008/02/11(月) 01:16:460274ストラウストラップ
2008/02/11(月) 01:21:570275デフォルトの名無しさん
2008/02/11(月) 05:16:32びよんびよ〜ん
0276デフォルトの名無しさん
2008/02/11(月) 07:05:280277デフォルトの名無しさん
2008/02/11(月) 10:33:400278デフォルトの名無しさん
2008/02/19(火) 05:32:130279デフォルトの名無しさん
2008/02/19(火) 23:01:130280デフォルトの名無しさん
2008/02/21(木) 09:49:070281デフォルトの名無しさん
2008/02/21(木) 10:13:140282デフォルトの名無しさん
2008/02/26(火) 01:44:12binutilをいじればいいの?
何か参考になる書籍があれば教えて。
0283デフォルトの名無しさん
2008/02/26(火) 06:22:390284デフォルトの名無しさん
2008/02/26(火) 13:44:23ありがとう
0285デフォルトの名無しさん
2008/02/29(金) 02:16:520286デフォルトの名無しさん
2008/03/02(日) 00:53:35fork()のとき、どっちのプロセスも追っていきたい
ときってどうすればいいんでしょうか?
ただしソースコードはいじれないとします。
0287デフォルトの名無しさん
2008/03/02(日) 03:01:440288デフォルトの名無しさん
2008/03/05(水) 03:54:21bzip2を-O1でコンパイルしたバイナリと、-fauto-inc-dec以下24つのフラグでコンパイルしたバイナリとで、
同一のファイルを圧縮するのにかかる時間を比較したところ、同等の結果が得られませんでした。
-fauto-inc-dec以下24つのフラグでコンパイルしたバイナリは、何も最適化フラグを与えずにコンパイルしたバイナリと
同程度の結果になりました。どうしてこの様な結果になるのでしょうか。
http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#Optimize-Options
0289デフォルトの名無しさん
2008/03/05(水) 05:51:10「-Oは以下の最適化フラグを有効にする」と書いてあるけど、それしか
しないとは書いてない。
gccのソースを見ると、「最適化レベルが1以上なら〜」というコードが
けっこう見付かるはず。
0290デフォルトの名無しさん
2008/03/05(水) 11:59:59各最適化オプション -fxxx は -O が前提となってたりする。
だから -O 指定せずに -fxxx 指定して効果がなくてもそんなもの。
最適化フラグ指定でんでんはGCCのソース嫁
でんでん…
0291デフォルトの名無しさん
2008/03/05(水) 12:02:040292デフォルトの名無しさん
2008/03/05(水) 13:28:350293デフォルトの名無しさん
2008/03/05(水) 13:32:220294デフォルトの名無しさん
2008/03/05(水) 13:46:500295デフォルトの名無しさん
2008/03/05(水) 14:48:23くく書くのは個人的には嫌いだ。
0296デフォルトの名無しさん
2008/03/05(水) 22:58:230297デフォルトの名無しさん
2008/03/06(木) 01:59:27実はディスクの方が律速で差が出なかったとか。
というかどうやって計って、どういう結果になったのか
書いてもらわんと難しいと思うわけで。
0298デフォルトの名無しさん
2008/03/06(木) 11:22:03ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.3.0
0299デフォルトの名無しさん
2008/03/06(木) 14:35:38ftp://ftp.dti.ad.jp/pub/lang/gcc/releases/gcc-4.3.0/
0300デフォルトの名無しさん
2008/03/06(木) 15:12:450301デフォルトの名無しさん
2008/03/06(木) 16:07:590302デフォルトの名無しさん
2008/03/06(木) 22:25:450303デフォルトの名無しさん
2008/03/07(金) 13:26:470304デフォルトの名無しさん
2008/03/07(金) 16:13:380305デフォルトの名無しさん
2008/03/08(土) 05:30:08じゃなきゃ糞だが
0306デフォルトの名無しさん
2008/03/08(土) 06:24:090307デフォルトの名無しさん
2008/03/08(土) 11:33:424.1から4.3で何が良くなったのか簡潔に頼む。
0308デフォルトの名無しさん
2008/03/08(土) 11:39:080309デフォルトの名無しさん
2008/03/08(土) 19:44:394.1.2 http://fate.multimedia.cx/index.php?build_record=6158
4.2.3 http://fate.multimedia.cx/index.php?build_record=6169
gcc svn 133010, built 2008-03-07 http://fate.multimedia.cx/index.php?build_record=6163
0310デフォルトの名無しさん
2008/03/08(土) 21:56:34思っていて、最適化フラグが-O2の場合は4.2より4.3の方が若干良いという印象を持っていたのでそう書いたのでけど、
実は-O3の場合は事情が違って、4.2の方が4.3より良い結果になると思っています。つまり、
gcc-4.2-O2<gcc-4.3-O2<gcc-4.3-O3<gcc-4.2-O3
の順に性能が良くなると思っています。fateというベンチはstdout textを見ると-O3でコンパイルされているので
4.2の方が4.3より良い結果になるというのは順当だと思います。
0311デフォルトの名無しさん
2008/03/08(土) 22:20:144.3はforward propagationが大幅に書き換えられているから、
4.2のの頃の結果から4.3の振る舞いを推測するのは危険だぞ。
0312デフォルトの名無しさん
2008/03/09(日) 13:19:28あくまで自分が使うプログラムでってことだけど
0313デフォルトの名無しさん
2008/03/09(日) 18:47:180314デフォルトの名無しさん
2008/03/09(日) 23:34:14まあ、警告が不十分だった事に起因してる点があれば
30% 程度は GCC にも責任があるかもしれないが。
0315デフォルトの名無しさん
2008/03/09(日) 23:35:17http://gcc.gnu.org/gcc-4.3/cxx0x_status.html
Status of Experimental C++0x Support in GCC 4.3
Rvalue references N2118 Yes
Rvalue references for *this N2439 No
Variadic templates N2242 Yes
Static assertions N1720 Yes
Declared type of an expression N2343 Yes
Right angle brackets N1757 Yes
Default template arguments for function templates DR226 Yes
Extern templates N1987 Yes
C99 Features in C++0x
__func__ predefined identifier N2340 Yes
C99 preprocessor N1653 Yes
long long N1811 Yes
もちろんg++起動オプションでオンにしたときだけ。
http://gcc.gnu.org/gcc-4.3/changes.html
0316デフォルトの名無しさん
2008/03/10(月) 00:37:24まさかgccはlintにするために作ってるわけじゃあるまいに。なんだその30%て。
0317デフォルトの名無しさん
2008/03/10(月) 19:19:11比べてやはり遅いんだなってのは体感しました。所がアプリによりつけたフラグによっては動きが悪くなる
ってのも体感。
なので自分はソースが読めないのでgcc4.2シリーズの-march=native -O2のみにして全部これでやることに
しました。それなりに快適に動いてます。
少し前からgcc4.3の最適化は4.2よりいいと書いてある記事をみて開発版の4.3を入れたけど
なんか動きがかなり違う。コンパイルが出来ない(一切フラグをつけなくても)物も出てきた。
それどころかある設定をしないとカーネルでさえコンパイル出来ないんですね・・・・
ググってカーネルのmakeファイルに設定を追加して出来上がった物も動きが悪いです・・・
やはり今回の正式リリースもカーネルとかそのままコンパイル出来ないんでしょうか?
まあ、それは対策が解るからいいものの、使った感じちょっとソースが読めないような自分が使う物ではないな
と感じたです。コンパイルエラーが出たのをネットでググる時間が(TT)
0318デフォルトの名無しさん
2008/03/10(月) 20:08:320319デフォルトの名無しさん
2008/03/10(月) 20:14:00じゃあ正式リリース版のgcc4.3.0では何もいじらなくてカーネルコンパイルくらいは平気で出来るの?
4.2シリーズは開発版だろうがまるで神経使わなかったけど。
0320デフォルトの名無しさん
2008/03/10(月) 20:15:000321デフォルトの名無しさん
2008/03/10(月) 20:17:07答えられないような人は黙っててよww
0322デフォルトの名無しさん
2008/03/10(月) 20:28:23開発版を入れる神経を疑いはするが、4.3が安定しているかどうかは知らない。
私ゃ態々カーネルをコンパイルし直すほど暇じゃないんでね。
0323デフォルトの名無しさん
2008/03/10(月) 20:39:370.3秒かかってたのが0.27秒とかになったとしても
0324デフォルトの名無しさん
2008/03/10(月) 21:15:340325デフォルトの名無しさん
2008/03/10(月) 22:08:500326デフォルトの名無しさん
2008/03/10(月) 22:27:47安定とかの問題以前でgccサイドとカーネルサイドの意見が違っててどっちも直さないってのが
ある筈なんだけど・・・
gcc4.3、カーネルと聞いて思い浮かばないようならもう話はいいですww
0327デフォルトの名無しさん
2008/03/10(月) 23:07:27リリースされたばかりのコンパイラを使わない方がいいと思うよ
> やはり今回の正式リリースもカーネルとかそのままコンパイル出来ないんでしょうか?
あなたにはよく分からないことだから。
0328デフォルトの名無しさん
2008/03/11(火) 00:04:11コンパイル時に二つのオプションを使うことってできるのでしょうか?
例えば、若干スレ違い臭いのですが、質問させてください。
例えば、
`wx-config --cppflags` と `pkg-config --cflags gtk+-2.0`
を同時に使いたいのです。
同時に使えるとしたらどのように書けばいいのでしょうか。
どなたかご教示頂けると幸いです。
0329328
2008/03/11(火) 00:05:150330デフォルトの名無しさん
2008/03/11(火) 00:10:10そのくらいの経緯は書いて欲しいな。
というか、向こうでレスついたぞ。
0331329
2008/03/11(火) 00:16:00すいません、そういうもんなのですか。以後気をつけます。
レスついたみたいですね。ありがとうございましたm(_ _)m
0332デフォルトの名無しさん
2008/03/11(火) 01:48:360333デフォルトの名無しさん
2008/03/11(火) 02:30:21http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32044#c28
0334デフォルトの名無しさん
2008/03/11(火) 02:33:55GCCコミッテーに文句つけて今の版のバグフィックスをしろよ、クソハゲドモと外人に文句垂れてくるんなら
俺は得に気に留めないよ。
0335デフォルトの名無しさん
2008/03/11(火) 02:38:16http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e40cd10ccff3d9fbffd57b93780bee4b7b9bff51
正直、コンパイル猿になるよりもずっと有意義なことがいくらでもあります。
何か一つターゲットを絞って深く追ってみるのならいいけどね。
0336sage
2008/03/13(木) 10:12:58__asm__ (
"imull %%edx\n\t"
"idivl %3\n\t"
: "=a" (result) /* out */
: "a" (m1), "d" (m2), "g" (d) /* in */
: "ax", "dx" /* mod */
);
return result;
}
でコンパイルするとcan't find a register in class ‘AREG’ while reloading ‘asm’とのエラーが表示され、コンパイルできません。
どのように改善したら良いでしょうか。
■ このスレッドは過去ログ倉庫に格納されています