[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 18:27 / Filesize : 201 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

GCCについて part7



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


403 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 00:34:07 ]
へぇ、branch切ったんだ。
gcc.gnu.org/gcc-4.2/changes.html
魅力的な要素があまり無いなぁ。

404 名前:デフォルトの名無しさん mailto:age [2006/10/26(木) 03:15:11 ]
>>401


405 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 03:59:43 ]
えぇっ、フリーのOpenMPはでかいんじゃないのかいな。

ていうかなんでfastjar消されるの?

406 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 04:44:29 ]
所詮ただのZIPだから。

407 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 15:14:53 ]
やっぱそうだったんだorz

408 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 13:28:01 ]
>>405
はげどう。
>>403 はこのままだとマルチコア時代を生き抜けないぞ。


409 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 19:20:42 ]
ただでさえ4.*はバージョンが古くないと問題ないはずのソースがコンパイルできなかったり
まさに発展途上だからなぁ。

410 名前:デフォルトの名無しさん mailto:sage [2006/10/29(日) 02:50:55 ]
安定してるバージョンはなに?

411 名前:デフォルトの名無しさん mailto:sage [2006/10/29(日) 07:50:12 ]
3.4.4



412 名前:デフォルトの名無しさん mailto:sage [2006/10/29(日) 18:15:19 ]
3.4.6が3.*の最終版だがffdshowの改良版がコンパイルできないそうだ。
ffdshowの改良版がまともにコンパイルできるのは4.0.2”だけ”で
4.0.1でも4.0.3以降でもダメらしい。
つまり4.*はもちろん、もう更新されない3.4.6ですら未完成な部分がある。
修正するガッツを持っている人間はネットをググった程度じゃ出てこない。

413 名前:デフォルトの名無しさん mailto:sage [2006/10/29(日) 18:20:42 ]
>>412
ffdshowの改良版とやらの方の不備ではないのか?

414 名前:デフォルトの名無しさん mailto:sage [2006/10/29(日) 18:21:00 ]
>>412
そもそもGCCのコードを弄れる奴が世界に何人いるかだ。

415 名前:デフォルトの名無しさん mailto:sage [2006/10/29(日) 19:20:10 ]
gccのコードほど複雑怪奇なものはないと思うんだが。

416 名前:デフォルトの名無しさん mailto:sage [2006/10/30(月) 00:59:12 ]
>>414
CygwinとMingwの中の人なら平気で弄ってるよな。いや、平気じゃなくて根性かもしれんけど。

417 名前:デフォルトの名無しさん [2006/10/30(月) 12:45:43 ]
コンジョだコンジョ

418 名前:デフォルトの名無しさん mailto:sage [2006/10/30(月) 22:05:16 ]
カスミン懐かしい…

って板違いだな

419 名前:デフォルトの名無しさん mailto:sage [2006/10/31(火) 21:18:28 ]
参考までにffdshowの改良版
svn co https://svn.sourceforge.net/svnroot/ffdshow-tryout ffdshow-tryout

作ってる人たち自身がGCCなら4.0.2じゃないとダメと言ってるからソースに問題はないと思うんだが。
ちなみに3.4.6ではInternal Compiler Errorが出てコンパイルできなかった。(/src で make)

420 名前:デフォルトの名無しさん mailto:sage [2006/11/01(水) 07:39:23 ]
>>412
>つまり4.*はもちろん、もう更新されない3.4.6ですら未完成な部分がある。
この結論がおかしい。最後の数パーセントを完璧にするには数百倍の努力を必要とする。



421 名前:デフォルトの名無しさん mailto:sage [2006/11/01(水) 08:13:53 ]
別にその結論自体はおかしくないと思うけど



422 名前:デフォルトの名無しさん mailto:sage [2006/11/01(水) 09:07:53 ]
そっか、ならよかった

423 名前:デフォルトの名無しさん mailto:sage [2006/11/01(水) 14:50:50 ]
>>420の文の意味がよく分からん。
残り数%の未完成が判明しても最終版は完成とみなすの?

424 名前:デフォルトの名無しさん mailto:sage [2006/11/01(水) 14:58:50 ]
>>423
たぶん、「ですら」ってとこに違和感感じてるんじゃないの?
完璧にするのは長時間かかるんだから、もちろんあるだろうということで。

425 名前:デフォルトの名無しさん mailto:sage [2006/11/01(水) 18:23:24 ]
俺は普通に読んで「ですら」ってのは「完璧じゃないんですよということを強調」する意味で
特に違和感ないと思ったんだが。
「結論がおかしい(=間違ってる)」というのが何を意味するのか俺も分からん。
「もちろんあるだろう」ならそのまま「そりゃそうだろ」で済むからそれは違う気がする。

文系じゃないので深読みはしなかった。国語苦手だよ。

426 名前:デフォルトの名無しさん mailto:sage [2006/11/01(水) 22:19:12 ]
coutで文字列を出力した後にwcoutでワイド文字を出力すると文字化けする。
逆もそう。gcc4.0.2(vine3.2)。

うちの環境だけ?

427 名前:デフォルトの名無しさん mailto:sage [2006/11/01(水) 23:32:21 ]
具体的なコードでくれ

428 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 01:28:42 ]
>>423
gccくらいのサイズのソフトウェアは完成することはない。

429 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 02:00:49 ]
どれくらいのサイズのソフトウェアなら完成しますか?

430 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 02:18:52 ]
>>425
「ですら」は「容易であるのにも関わらず」というニュアンスを持っているけど、
>>423 は「本当は容易じゃないんだぜ」って事を言いたいんじゃないかな。

>>412 は、機能追加が無いから 4.* よりは「容易であるのにも関わらず」
という話だから、用法を間違ってる訳じゃないんだけどね。

>>429
「完成したソフトウェア」を定義出来ないから、サイズに関わらず無理という
結論が返って来るに 100 ルピー。

431 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 03:39:32 ]
>「ですら」は「容易であるのにも関わらず」というニュアンス
どこの国のニュアンスだよ
dictionary.goo.ne.jp/search.php?MT=%A4%B9%A4%E9&kind=jn&mode=0&base=1&row=0



板違いだからよそでやれ




432 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 06:43:05 ]
ですらー総統万歳

433 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 08:23:34 ]
Wikipediaの記事酷いな
悪意を持った半可通ほどタチの悪いもんはない

434 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 16:36:54 ]
質問します
ある統計データのグラフを画像として出力するプログラムを作りたいのですが、
GCCで利用可能な良いライブラリがありましたら教えて下さい。
形式はjpeg、gif、pngの何れかに対応しており、文字列を画像に出力可能なものを探しています。
よろしくお願い致します。

435 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 17:52:30 ]
gnuplot使えばいいんじゃ

436 名前:デフォルトの名無しさん mailto:sage [2006/11/03(金) 06:32:23 ]
gnuplotのコマンド出力してくれるライブラリが欲しいです

437 名前:デフォルトの名無しさん mailto:sage [2006/11/03(金) 08:16:04 ]
というか、スレ違いなんだが、
gnuplotは、デバイス非依存にするために、term抽象化をしているから、
*.trmで定義されているtermモジュールを、切り替えて使うようにすればOK。

$(GNUPLOT)/term/README読め。

話の続きがしたければ、くだ質スレ行け。

438 名前:デフォルトの名無しさん mailto:sage [2006/11/03(金) 16:32:30 ]
popenで十分じゃない?

439 名前:デフォルトの名無しさん [2006/11/05(日) 10:56:17 ]
>>433
むしろ、このスレの住人には神が何人もいるわけで、
このスレで少し議論して書き直してもいいと思う。


440 名前:デフォルトの名無しさん mailto:sage [2006/11/05(日) 16:30:46 ]
ada使ってる猛者いる?

441 名前:デフォルトの名無しさん mailto:sage [2006/11/05(日) 18:10:03 ]
指先が擦り減るから止めた



442 名前:デフォルトの名無しさん mailto:sage [2006/11/05(日) 19:34:09 ]
>>440
pc8.2ch.net/test/read.cgi/tech/1010492940/

443 名前:デフォルトの名無しさん mailto:sage [2006/11/05(日) 19:57:43 ]
歴史あるスレですね
書き込んでスレを進めるのがもったいなく思います


444 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 11:28:46 ]
gcc(g++)で特殊化されてないテンプレートに特殊化されたテンプレートを
定義する方法はありませんか?

VCやBCBでは非標準の機能も使えてしまうわけで、g++でもそういう機能を
有効にするようなオプションなりなんらかの方法を探してます。
バージョンはgcc4系を目標にしてます。

445 名前:434 mailto:sage [2006/11/06(月) 15:06:33 ]
>>435,437,438
返信遅くなりましたが、有難うございます
gnuplotでの作成を検討したいと思います

446 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 02:49:15 ]
質問です

linux上で静的リンクでコンパイルしたつもりなのですが、
glibcに依存(?)しており、sharedな状態となっているためか、
プログラムが変なところで終了するようになりました。

glibcに依存しない、完全に独立したバイナリを作成するには
どうしたらよいでしょうか?
ポインタなど頂けると嬉しいです


lddで対象プログラムを参照するとstaticだと言われるんですが、
コンパイル時に以下のようなワーニングが出ます。

warning: Using 'gethostbyname' in statically linked applications requires
at runtime the shared libraries from the glibc version used for linking

/usr/lib/libc.aは確かにgethostbynameのシンボルを保持しているのですが、
libc.aをldするとglibcに依存するので完全に独立させたいです


447 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 11:01:20 ]
libcにはexit(2)など、
プログラムの実行に必須の関数(およびシステムコールインターフェース)が入っているので、
なしでプログラムを実行することは不可能です。

あなたがlibcの代わりのシステムコール、main()スタブを書けば問題ないですが、
質問内容から言ってもそれは到底無理でしょう。

448 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 11:01:58 ]
gethostbyname()を他から持ってくる。

449 名前:デフォルトの名無しさん [2006/11/10(金) 23:02:02 ]
libc,libgcc抜きの環境でやってたときは結構面白かった。
車輪の再開発はやっぱり楽しい。

450 名前:デフォルトの名無しさん mailto:sage [2006/11/11(土) 10:38:09 ]
>>449
libgcc抜きは相当キツいだろうな・・・

451 名前:デフォルトの名無しさん mailto:sage [2006/11/11(土) 17:43:33 ]
ちょいと質問ですよ。

手元のgcc(for cygwin)は-m64がないのだけれど、-m64オプションを指定したときsizeof(int)はいくつになるの?
LinuxとSolarisのそれぞれについて、教えてくれると助かります。



452 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 18:25:13 ]
int main() {
static int foo();
return foo();
}
static int foo() {
return 0;
}
上記コードはgcc 3.4.4ではコンパイルできますがgcc 4.0.3ではできません。
以下はgcc 4.0.3のエラーログです。

test.c: In function ‘main’:
test.c:2: error: invalid storage class for function ‘foo’
test.c: At top level:
test.c:5: error: static declaration of ‘foo’ follows non-static declaration
test.c:3: error: previous implicit declaration of ‘foo’ was here

これはgcc 4.0.3での仕様変更でしょうか?
サンプルソースの記述方法は標準仕様(ANSI CないしC99等)に違反していますか?

453 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 21:05:25 ]
こういうの萎えるけどまぁしゃーない。漏れも暇だ。

> これはgcc 4.0.3での仕様変更でしょうか?
だろうね、望ましい(厳しい)方向の。
> サンプルソースの記述方法は標準仕様(ANSI CないしC99等)に違反していますか?
厳密に違反(?)かは分からんが、

> static int foo();

この位置じゃmain()の中だけでしか宣言が有効じゃない。
しかも引数にvoidがないからPost-ANSIスタイルじゃない(==K&R)。

-pedantic -std=c89 -W{all,strict-prototype}
とかとりあえずやっとけ。

454 名前:デフォルトの名無しさん [2006/11/13(月) 22:15:02 ]
int型で扱える整数の最大値はいくつですか?
PC-9801時代のC言語入門しか持ってないんですが
printf ("%d\n",123456789);
としても普通に表示されるようです。
この本だとエラーになる。


455 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 22:35:09 ]
処理系による。limits.hでもお読みなさい。

456 名前:454 [2006/11/13(月) 22:35:36 ]
原始的に一桁ずつ変更してみたら
2147483647でWarningが出なくなったけど、これで合ってるのかな…

457 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 22:36:36 ]
>>454
sizeof(int)の値をnとして、(2^n)/2-1だよ。
intのサイズが4バイトなら2147483647ね。

458 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 22:39:35 ]
俺のところでは、
/* limits.h */
#define __INT_MAX__ 2147483647

459 名前:454 [2006/11/13(月) 22:40:58 ]
ありました!

# define INT_MAX 2147483647

460 名前:457 mailto:sage [2006/11/13(月) 22:45:37 ]
間違えたwww
nは8をかけてビット単位にしてね。

461 名前:454 [2006/11/13(月) 22:59:30 ]
>>457>>460
ありがとうございます。
しかし私が理解できる数学は中学校2年レベルまでです…orz



462 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 23:25:09 ]
>>457 そんな決め付けはよくないな。

463 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 23:43:11 ]
>>461
457はそれくらいの数学がわかれば十分理解できるはず。
(Cではxorだが)ここでは^が冪乗の意味。2 ^ nは2のn乗ということ。

464 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 01:18:45 ]
m桁のn進数の数値が表せる最大の数は(n^m)-1だろ?

465 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 01:23:07 ]
>>464
しかしここでは2の補数による符号付き整数型を考えているので457。
ただ2^(n-1) - 1と書いたほうがいいのではと思うがな。

466 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 01:23:53 ]
>>464
int の有効桁数は sizeof(int) では確定しない。

467 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 07:39:54 ]
intを格納するのにパディングが必要になる処理系というのも
考えづらいけどね。

468 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 13:08:35 ]
そりゃただの想像力不足だろ。
ILP64のように、intがマシンにとって最も自然なワードという仮定は
もはやプラットフォームによっては崩れてる。

469 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 13:25:10 ]
>プラットフォームによっては
>プラットフォームによっては
>プラットフォームによっては

470 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 23:29:39 ]
int はそのプラットフォームにおいてもっとも高速であること見込めるサイズと定義されているのに(w

471 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 00:19:27 ]
>>470
はつみみです。
何のどこに定義されているのですか?



472 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 01:20:42 ]
どっちにしろ、C99からはint8_tとかつかえばおk

473 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 20:34:20 ]
>>470
とするのが理想だが 定義じゃねーYO!

474 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 23:23:11 ]
>>472
int_fast8_tのことかぇ?

475 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 11:21:19 ]
stdint.h

476 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 20:42:26 ]
; Linux 板から引っ越してきました。

質問です。

/lib/ld.so の様に,実行も出来る共有ライブラリを作るには GCC に対してど
ういうコマンドを発行すれば良いのでしょうか?

% file /lib/ld-2.4.so
/lib/ld-2.4.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped
% /lib/ld-2.4.so
Usage: ld.so [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]
You have invoked `ld.so', the helper program for shared library executables.
...

477 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 09:15:42 ]
つ ld-*.soのソースとMakefile

478 名前:gcc4 mailto:sage [2006/11/23(木) 17:18:39 ]
みんな -fpmath は sse にしてる?


479 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 22:01:05 ]
ええ


480 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 10:16:27 ]
はやくgcc-4.2こい〜こい〜

481 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 13:50:55 ]
>>480
4.2のウリはなに?



482 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 13:52:01 ]
ニダ!

483 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 14:56:18 ]
>>481
openMPのサポートじゃないの?

484 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 15:48:58 ]
>>481
ここ読め、カス!
gcc.gnu.org/gcc-4.2/changes.html

forward propagation passが入るよー。

485 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 17:10:34 ]
OpenMPは庶民にはあまり関係なさそうだな。
>>481を見ると、他の変更はあまりなさそうですね。



486 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 20:47:01 ]
RTL での forward propagation は 4.3 からじゃない?

487 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 01:09:36 ]
GCCのソースを読むのは疲れるぞい。

488 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 08:42:21 ]
ETFは少し下げてっるぽい。

489 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 10:22:49 ]
forward propagationってコピー伝播のこと?

490 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 11:02:19 ]
>>489
gcc.gnu.org/ml/gcc-patches/2005-07/msg00423.html

491 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 15:15:20 ]
>>490
さんきゅ。あってるみたいだね。
しかし、今まで入ってないのが不思議なくらい基本的な最適化だが…



492 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 16:10:16 ]
伝搬の方向と、解析の方向の違い。

493 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 18:08:20 ]
ObjC2.0っていつサポートされる予定なの?

494 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 18:16:54 ]
>>491
その辺はopen sourceの限界だろうな。
商用コンパイラなら常識だが、フリーのものは思わぬところで手が抜かれている

495 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 19:13:26 ]
>>489
違う。

496 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 23:09:58 ]
質問なんですが、gccで、
動的ライブラリのSOファイルにiostreamをインクルードすると、実行時に、
undefined symbol: __dso_handle
ってエラーがでるんですけど、なんか対処法ないですか?

$ g++ -Wall -g3 -c test.cc
$ g++ -shared -nostartfiles -o test.so test.o

こんな感じでコンパイルしてます。

497 名前:デフォルトの名無しさん mailto:sage PIC [2006/12/11(月) 00:30:11 ]
ぐぐると出てくるぞ
ttp://d.hatena.ne.jp/shinichiro_h/20051109


498 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 00:59:42 ]
>>497
ありがとうございます。
extern void* __dso_handle;
って宣言するってことですかね?ちょっと試してみます!

499 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 13:20:01 ]
gdb でマクロ参照したい時 gcc -g3 しますが、

enum hoge {
 HOGE_A = 123,
#define HOGE_A HOGE_A
 ...

というコードのデバッグで HOGE_A を参照できず困ってます。
macro expand HOGE_A すると 123 ではなく HOGE_A になる上、
実コードで enum hoge i = ... のように使われてないので、
この enum/macro 値の実値がデバッグセッション中からまったく
取れないのです。

いまはやむなくヘッダ grep して毎回探し回ってるんですが、
実は gcc/gdb 的にちゃんと参照する方法があったりしないでしょうか?


500 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 13:56:20 ]
print出来ないの?

501 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 14:01:27 ]
あ、出来ないわ。
debug情報に含まれてないね。> hoge, HOGE_A
リテラルになってる。



502 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 14:05:16 ]
そうなんですよ。

#define HOGE_A 123

ならコード中で使ってなくても gdb から見えるのに、

enum { HOGE_A = 123 }

だと何と見えなくなってしまって。gcc/gdb に手を入れないと対応不能?


503 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 17:38:34 ]
Symbol tableにないから無理だね。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<201KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef