[表示 : 全て 最新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


577 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 01:56:12 ]
Linuxのメジャーどころのディストリビューションが3.x以降に移行し、
FreeBSDも5以降は3.xに移行してから結構時間が経ってしまっている現状、
2.95.xではmakeが通らないアプリも結構あるからなぁ。

ってことで、Solarisで長いこと付属のcompanion CDに入っていた2.95.3を
使ってきたけど、SunFreewareの3.4.6に入れ替えた。

にしても、4.2がリリースされたら、4.1から入れ替えちゃって4.1がつかえなくなる
ディストリビューションがありそう。Debianの場合、パッケージが用意されているのは
2.95、3.3、3.4、4.1なので、4.2がリリースされても大丈夫だろうし、FreeBSDのportsも
そんな感じだから、ヲレ的には無問題なんだけど。

578 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 03:35:37 ]
>>577
Solaris 10 以降だったら /usr/sfw/bin の下に GCC 入ってるよ。
バージョンが幾つだったか忘れたけど。

579 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 12:02:31 ]
>>576
C++はそうだね。3.x以降で劇的に変わっているし。
あと、amd64などの新しいアーキテクチャへの対応もあるし。

にしても、>>575のいう最高性能が2.95っていう理由がよくわからんのだけど。
まさかコンパイル速度だけを見ているわけじゃないよね?

580 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 16:05:58 ]
見ているわけだろ。

581 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 15:55:40 ]
コンパイル速度しか見ていないヤシ、以前UNIX板のgccスレにも湧いていたな

582 名前:389 mailto:sage [2007/03/20(火) 17:11:47 ]
コンパイル速度とコードサイズの小ささは2.95のがよかったな。
実行速度は比べたことないんでしらんけど。
まぁ C99 や C++ や他のフロントエンドを考えると今更戻る気はしないな

583 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 17:57:44 ]
実行速度は自分が使うやつでは3.3が一番速かった
4.1は姫野ベンチってやつでは-O2以上にすると何故か3.4に比べて2倍くらい遅くなってた
-O1とかでもそれまでと比べて遅くなってるけど

584 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 09:43:40 ]
姫野ベンチのソースコードは公開されてるの?

585 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 10:57:09 ]
されてるよ。ググればトップに出て来るけど。



586 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 14:45:25 ]
fortranがベースなのか?

587 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 17:59:33 ]
ご自分でどうぞ。

588 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 20:22:54 ]
>>586
Fortranベースじゃないかな。トップページに、Cの配列宣言をFortranに合わせた、って記述が。
言語の特性上、だいたいベンチ系はFortranベースのものが多いし。

589 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 15:52:02 ]
下のページを試しているのですがgcc時にエラーが出てしまいます
ttp://www.hellohiro.com/native.htm
jni.hがないと言われるのですが、lsで確認したところ存在します。
どこがまずいのでしょうか・・助けてください。

bash$ gcc -shared -l/usr/java/jdk1.6.0/include/ -l/usr/java/jdk1.6.0/include/linux/ HelloWorldJNI.cpp -o libHelloWorldJNI.so
HelloWorldJNI.cpp:1 から include されたファイル中:
HelloWorldJNI.h:2:17: error: jni.h: そのようなファイルやディレクトリはありません
HelloWorldJNI.h:15: error: ‘JNIEXPORT’ does not name a type
HelloWorldJNI.cpp:2: error: ‘JNIEXPORT’ does not name a type
bash$ ls -l /usr/java/jdk1.6.0/include/jni.h
-rw-r--r-- 1 root root 67831 11月 29 18:49 /usr/java/jdk1.6.0/include/jni.h

590 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 17:07:14 ]
l じゃなくて I だよ
lは -lpthreadみたいにライブラリに対して使う

591 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 17:59:14 ]
>>590
ありがとうございます
できました
本当に助かりました

592 名前:デフォルトの名無しさん [2007/03/31(土) 20:35:04 ]
4系ってコンパイルを正常に終わらせられるソフトウェアはまだ多くないと聞いたんだけど
それと、Debianは2.95からパッケージに置いてあるのに
Fedoraは3.3より先は切り捨てられているのはどうかと思うが

593 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:37:45 ]
debianってそういうディストロだし
fedoraってそういうディストロだし

594 名前:デフォルトの名無しさん [2007/03/31(土) 20:39:14 ]
>>593
で、4系ってどうなのよ
アレな出来なのか?

595 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:46:50 ]
4.0 まぁ許容範囲
4.1 ギリギリ許容範囲
4.2 …だめぽ
4.3 期待の新星

javaとfortranについては順調に進歩してる。
が、肝心のcが…
コンパイル時間は増える、バイナリはでかくなる&遅くなる、
でいい事あんまなし。



596 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:54:41 ]
>>595
ありがとう
まだ3系のほうがいいのね・・・

597 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 22:15:44 ]
4.0 転換期。まぁ少しの性能の低下はしかたない。
4.1 すこし性能が回復。まだ3.6に及ばず。
4.2 なにそれうまい?
4.3 memcpy! memcpy!

598 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 22:42:26 ]
何と引き換えに性能が劣化してるの?

599 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 22:47:07 ]
>>598
www.jp.redhat.com/magazine/NO5/

600 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 04:48:19 ]
IA32への対応はそろそろ限界なのでは?

601 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 09:48:20 ]
案の定、4.2で多くのパッケージをコンパイルしたアホなLinuxのディストロが出てきたねぇ。

602 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 10:11:17 ]
俺は使わないが、問題の炙り出しになるので大歓迎。

603 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 10:40:42 ]
問題の炙り出しっつーても…
これ、どうせ廃棄ものだぜ?
2.96や3.3みたいに残しておく価値ないし
4.2で握るんなら4.3cvsで握ってくれた方がうれしいよ…
たとえ爆死してもまだ納得できる

604 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 17:28:52 ]
>>601
Momonga 4なら4.2は捨てて4.1で行くことにしたらしいぞ。
ttp://developer.momonga-linux.org/wiki/?Momonga+Linux+4
ttp://developer.momonga-linux.org/wiki/?gcc-4.2

605 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 00:22:24 ]
そんな日本ローカルな鳥なんてどうでもいい。



606 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 02:06:59 ]
あー momonnga ってまだあったんだー

607 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 11:14:29 ]
gcc(ていうかGNU ld?)で、未使用な関数とかを自動的に除去して
サイズ縮小したいんですが、そもそもそんな機能ありますか?

608 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 12:24:40 ]
>>607
gcc -ffunction-sections -Wl,--gc-sections 以下略
ttp://www.radiumsoftware.com/0401.html#040126


609 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 12:53:16 ]
結果的に未使用な関数の除去は出来るけど、
-ffunction-sectionsは性能の低下を引き起こすので使用には注意。

結局、その手の機能はまだ実装されてないんだね…

610 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 12:56:30 ]
>>608
アリガトン!でも除去してくれなかったよorz。



611 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 13:22:17 ]
>>610
ソースを一つに纏めて、全ての関数にstaticをつけると未使用関数は消えてなくなるんじゃね?w

612 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 15:49:11 ]
>>611
その辺を-fwhole-programが面倒見てくれるのかと思っていた時期もありました・・・


613 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 16:09:56 ]
MacOSXでg++の4系列を使い始めたのですが,
以下のコードでコピーコンストラクタがないと起こられます.
#include <iostream>
using namespace std;
class A {
A (const A &p);
A &operator = (const A &p);
public:
A () {}
friend ostream &operator << (ostream &p_os, const A &p_a) {return p_os;}
};
int main ()
{
cout << A () << endl;
return 0;
}
エラーメッセージは
test.cpp:4: error: 'A::A(const A&)' is private
test.cpp:12: error: within this context
です.g++-3.3では起こられないのですが,これってg++-3.3の方が正しいですよね?

powerpc-apple-darwin8-g++-4.0.1 (GCC) 4.0.1
g++-3.3 (GCC) 3.3 20030304


614 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 18:54:17 ]
C++相談室で聞くことにします


615 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 22:24:49 ]
つ ttp://lists.apple.com/archives/xcode-users/2007/Mar/msg00193.html
この辺の話じゃね?



616 名前:デフォルトの名無しさん mailto:sega [2007/04/15(日) 07:47:47 ]
a==1;
これについて、Warningを吐いてくれるオプションってある?

-Wall とか以外で。

617 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 10:11:39 ]
warningを個別に禁止・許可することができるようになりましたか?

618 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 10:56:35 ]
なんで道具に頼るんですか?

619 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 15:29:58 ]
チェックを人間の目に頼るのは小学生まで

620 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 17:13:21 ]
幼稚園児?保育園児?

621 名前:デフォルトの名無しさん [2007/04/15(日) 20:45:08 ]
>>617
2000年問題とかは個別に禁止・許可できるよ

622 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 20:53:26 ]
まだできないようですね。やれやれ。

623 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 22:09:08 ]
できました。ありがとうございました。

624 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 00:19:47 ]
ちょっと.code16モードで生成されるコードに疑問があるので質問させてください。

__asm__(".text\n.code16\n.global _start\n_start:\njmp boot_main\n");

void asm_putc_ng(char c) { __asm__("int $0x10" :: "a"(0x0e00|c), "b"(0x7)); }
void asm_putc_ok(char c) {
 __asm__(
   "mov 6(%ebp), %eax\n\t" // ココ。gccは8(%ebp)を生成するが・・・
   "or $0x0e00, %ax\n\t"
   "mov $0x07, %bx\n\t"
   "int $0x10\n\t");
}
void boot_main(void) { asm_putc_ok('D'); asm_putc_ng('D'); }

BIOSコールで文字を出力するサンプルですが、.code16モードだと
引数のスタック上位置の計算がおかしく、引数が正常に渡りません。
こんなコードが生成されます:

 asm_putc_ok: ! asm_putc_ng でも同様のプリアンブルを生成
  pushl %ebp
  movl %esp, %ebp
  subl $4, %esp    !char c用にスタック領域を取る
  movl 8(%ebp), %eax !第一引数をEAXに入れようとしてるがオフセットおかしくない?
  movb %al, -4(%ebp) !charなんでALだけ領域に書けば十分

リターンアドレスは16bitなので、ここは8(%ebp)でなく、6(%ebp)が
正しくないでしょうか?実際、それだと指定の文字を正しく出力します。

しかし、超メジャーなx86 gccでバグがあるとも思えないので、私が
単に16bitコード生成のための何かをしていないのではと悩んでます。
どうすれば正しいコードを生成させられるでしょうか?

625 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 00:41:38 ]
>>624
それはそういう仕様
16bitモードで使いたいなら素直にnasmでも使っとけ
いや、絶対その方が不可解なところで悩まなくていいから。




626 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 01:20:06 ]
MJD?でもサンクスコ。しかし説明だけ読んでる限りだと

 .code16  - 16bit-based instruction, 32bit data
 .code16gcc - 16bit-based instruction (partly 32bit), 32bit data
 .code32  - full 32bit instruction/data

となると思ってしまうよなー。実際には16bitモードなアセンブラを埋めるために
使うことだけ想定してて、16bit C compilerとして使うことは想定してないのね。

627 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 15:09:24 ]
ttp://gcc.gnu.org/ml/gcc/2007-04/msg00509.html
さてさて、4.2はどうなることやら。

628 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 17:00:31 ]
ttp://journal.mycom.co.jp/news/2007/04/10/019/index.html
ってことで、FreeBSD 7はgcc-4.1にしようと作業中で、
アプリとコンパイラの両方でのバグ出しも進んでいるみたいですな。

4.2系と違って4.1系はsnapshotもきちんと1週間毎に出てきているし、
4.1.3は結構よさげなリリースになる予感。

629 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 21:55:40 ]
もう世間のディストリのbugzillaは4.2/4.3の対応待ちとかで埋まってるのに、1周期ずれてるなw

630 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 22:06:43 ]
629はかなり頭が悪そうな雰囲気

631 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 17:36:43 ]
広く出回ってるアプリケーション?をgcc3.4系でコンパイルする際に
つけといたほうがいいオプションってありますか?

ほとんどの場合以下のオプションをつけてます。(xeon 5130の場合)
CC=gcc \
CFLAGS='-march=nocona -mcpu=nocona -m64 -O9 -mmmx -msse -msse2 -msse3 -mfpmath=sse' \
LDFLAGS="-z combreloc" \
./configure \
(その他configureのオプション)



632 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 18:18:02 ]
>>631
-Wall -pedantic -std=c99 --input-charset=??? --exec-charset=euc-jp

633 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 19:24:53 ]
エラーチェックを厳しくするオプションと
ソースにマルチバイトが含まれてるときの処理
でしょうか?
自分で書く際には役に立ちそうですが
人のコードコンパイルするときには使いにくそうですね。
最適化オプションの話がききたかったのですが

...とおもったらここプ板なんで作る側の板なんですね
検索できてそのまま書いてしまいました。
板違いですねorz



634 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 23:35:31 ]
>>631
とりあえず重複が多い。info見とき。

635 名前:デフォルトの名無しさん mailto:age [2007/04/21(土) 00:58:26 ]
スレ違いかもしれませんが、他に適当なスレがないのでここで質問させてください。
arについてなのですが、同じ名前でディレクトリが違うオブジェクトファイルをライブラリに詰めたとします。
たとえば、
/dir1/obj.o
/dir2/obj.o
があったとして、
ar rcs libtest.a /dir1/obj.o /dir2/obj.o
とやったような場合です。この場合libtest.aの中にはobj.oが2つ存在することになります。

このライブラリを展開すると、obj.oは1つしか出てきません。
2つ出るのかもしれませんが、1つは上書きされるようです。
オブジェクトファイルを2つとも取り出すにはどうしたらいいんでしょうか。



636 名前:635 mailto:sage [2007/04/21(土) 13:15:51 ]
どうやらどのオプションを使っても方法がないようなので、
自分でbinutilsのソースを書き換えました。

637 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 19:16:03 ]
GCC 4.2.0 Status Report (2007-04-24)
gcc.gnu.org/ml/gcc/2007-04/msg00850.html

4/29フリーズ&RC
5月第一週リリース予定だそうな
出来はいいからとにかくリリースして4.3に集中してほしいな

638 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 19:26:07 ]
>>637
いままでのstatus reportや、RCの出来を考えると、4.2系には不安がいっぱいというか
まるで期待が持てないものねぇ。

639 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 08:04:32 ]
リリースするより、4.2はなかったことにして4.3になるはずのものを
4.2にスライドしてくれる方がいいんじゃない?

640 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 13:02:19 ]
>>639
そういう意見も強かったようだけど、4.2をそのままリリースすることに決まっちゃったからねぇ。
しょうがないので、4.2の下手なマイナーアップデートをせず、4.1と4.3に力を注いで欲しいところ。

641 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 18:08:00 ]
ttp://www.itmedia.co.jp/enterprise/articles/0705/01/news010_4.html
> GCC 3.3よりもGCC 4.0でビルドする方が高いパフォーマンスを得られる
3系の方が速いのかと思ってた

642 名前:・∀・)っ-○◎● mailto:sage [2007/05/01(火) 19:51:59 ]
絶対嘘。3.3のほうがバイナリ速い。

643 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 20:26:49 ]
場合によるだろ
すぐに絶対とか言っちゃうやつは馬鹿な証拠

644 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 20:57:03 ]
>>641
何がしたいのかよくわからない記事だね。
ブラウザを起動させたまま同じページを100回ロードするとかの方がいいだろうに。

あえて>>641を材料に考えると、3通りの全てのテストで3.3と4.0の差は
optの方がnooptより縮まっているのだから、3.3の方が4.0より最適化が
優れていると考えるのが自然だと思う。

全条件にわたって4.0のグラフの方が短いのはシンボル解決など起動時の負担が
小さくなるような仕様の変更があったのではないかと推測。

あと、今時こういう測定で「画像主体」はないんじゃないかとw
CSSバリバリとかDHTMLとかSaaSとか、重さを感じるページってのはそういうの
なんだからその辺でやってくださいよと。

645 名前:デフォルトの名無しさん [2007/05/01(火) 21:26:37 ]
団子ちゃんが言うことは絶対なんデス><




646 名前:デフォルトの名無しさん [2007/05/01(火) 21:50:00 ]
つーかさ、そこらのコードがちょっとばかし速く動くより、
ダンゴさんのコードが速く動くことのほうが、
全世界的に見て有用だろ。

647 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 22:35:36 ]
団子のコードが速くなる3系>>>>>>firefoxが速くなる4系

648 名前:・∀・)っ-くコ:彡- mailto:sage [2007/05/02(水) 00:29:51 ]
いかさまだろ

649 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 05:57:54 ]
短時間で連レスする奴が並んでるな
後半消えてるけど

650 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 07:19:33 ]
ITmediaも暇なことしてるなw
httpなんて最適化で劇的に高速になるわけねーんだから
ユーザーがビルドしても時間のムダでしかないだろ。

651 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 11:03:52 ]
これほど偉そうな割にピント外れのレスも珍しい。

652 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 12:33:38 ]
社員乙

653 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 15:16:59 ]
レンダリングのことをダウンロードだと思っているようで。

654 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 15:19:13 ]
言い方変だったな。
firefoxではローカルファイルを表示できないと思っている、というほうが正しいか。

まあGWだから仕方ないけど。

655 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 16:39:12 ]
HTML解析と内部DOM生成、スクリプトとのやりとり、レンダリング
どれも重そうだよ



656 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 00:51:07 ]
しょうもないことしてるな。
一ランク上のプロセッサ買ったほうが手っ取り早いだろ。

657 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 00:51:56 ]
そのネタもう飽田

658 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 06:06:16 ]
フルアセンブラでブラウザ書けばきっと速いよ

                     ハ_ハ  
                   ('(゚∀゚∩ はやいよ!
                    ヽ  〈 
                     ヽヽ_)

659 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 06:10:02 ]
そのネタも、最適化なめるな突っ込みも、もう飽北

660 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 11:21:58 ]
シェルスクリプトでブラウザ書けばきっと(ry

661 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:17:10 ]
ハンドレンダリング
これ最強。

662 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 04:56:58 ]
>>661
だよな、テーブル表記なんか心が和む微妙な曲線で描かれるんだぜ


663 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 12:47:42 ]
openmpが使える環境だと4.2の方が圧倒的に速いね

664 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:23:45 ]
GCC って今 rand のアルゴリズムに何使っとん?

665 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:29:20 ]
GCCって乱数なんか使ってるの?



666 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:30:30 ]
使っているlibraryによる。

liblibertyなら↓を読んで。
gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libiberty/random.c?rev=1.9&content-type=text/x-cvsweb-markup

667 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 18:37:24 ]
TYPE_0 は線形合同法っぽいけど、他のは・・・何だろ。
これが噂の遅延フィボナッチとやら?
とりあえず、TYPE_0 以外では >> 1 はしてるっぽいので安心した。

668 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 04:01:19 ]
>>664
で、使ってるライブラリは何なの?
MinGW? Cygwin? OSのlibc?


669 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 06:22:54 ]
>>668
別に自分の環境のだけのが知りたいわけでもないんで。

670 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 06:43:36 ]
そもそもgccとrand()に何の関係もないわな。


671 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 07:04:49 ]
ぬ? UNIX/Linux だと OS が提供してるの?

672 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 07:48:20 ]
コンパイラとライブラリが別

673 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 07:50:26 ]
いや、ライブラリ提供者。

674 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 08:01:54 ]
>>671
どんなOSでも、OSのランタイム環境の一部として、配布されている。
開発環境がない実行環境でも動かないといけないから。
今時はほとんどダイナミックリンクだしね。

675 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 08:07:18 ]
>>674
OSのランタイム環境ってなんだよw
rand関数提供してるOSなんて見たこと無いぞ
VBのラインタイムと混同してないか?
半端な知ったかぶりするなら黙ってたほうがいいよ



676 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 08:21:27 ]
>OSのランタイム環境の一部として
いや、ライブラリ(ry

677 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 08:40:41 ]
>>675
UNIXではOS添付のlibc内のrand()を使うのが当然。
SolarisでもLinuxでも*BSDでも、そう。
gcc以外のコンパイラでもrand()は同じ。

MinGWだって、MinGWがrand()を提供しているんじゃなくて、msvcrtが提
供しているわけで、gccとは関係ない。










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

前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