03/12/19 07:53
うん、gnu.orgのCVS serverおかしい
463:名無しさん@お腹いっぱい。
03/12/19 18:28
まあg++の作業はちょっと遅れてるっぽいし、
3.3の完成度は高いから、2年ぐらいは
新規のリリースなしでもいいかな~なんて。
464:名無しさん@お腹いっぱい。
04/01/24 00:53
gcc 3.4 って、cc1 とか collect2 が /usr/libexec に移動しているね。
それと /usr/lib/gcc-lib が /usr/lib/gcc になってた。
465:名無しさん@お腹いっぱい。
04/01/24 05:44
WE LOVE GCC!!!
466:名無しさん@お腹いっぱい。
04/01/26 20:47
>>463
そろそろ3.4.0Releaseという噂が聞こえてきましたよ…
467:461
04/01/29 22:22
>>462
できればrsyncだけでなくcvsupとかも動かしてくれるとディスクを
たくさんガリガリやらなくて済むんだけどな。
468:名無しさん@お腹いっぱい。
04/02/08 12:38
このスレの温度
| |- 20
| |
| |- 10
| |
| |- 0
| |
| |- -10 ∧_∧
|┃| (´∀` )
|┃| ( )
. (●) | | |
 ̄ (_(__)
469:名無しさん@お腹いっぱい。
04/02/12 03:05
3.3の完成度は高いのか....(泣)
insn:HI 2040 2044 3203 137 ff01ebc0 (set (reg:DI 31 %i7 [32])
(fix:DI (fix:DF (reg:DF 32 %f0 [647])))) 166 {fix_truncdfdi2} (insn_list 2037 (nil))
(nil))
exif.c:673: internal compiler error: in reload_cse_simplify_operands, at reload1.c:8345
完全なバグ報告を送って下さい。
適切ならばプリプロセス後のソースをつけてください。
<URL:URLリンク(gcc.gnu.org) を見れば方法が書いてあります。
gmake: *** [exif.o] Error 1
bash-2.05$ gcc -v
/opt/gnu/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/specs から spec を読み込み中
コンフィグオプション: ../gcc-3.3.2/configure --prefix=/opt/gnu --enable-languages=c,c++
スレッドモデル: posix
gcc バージョン 3.3.2
470:名無しさん@お腹いっぱい。
04/02/12 14:04
漏れは3つ位出したぞ。sparcじゃないけど。
マイナーなアーキテクチャの宿命だ。
メンテナが頑張ってくれているので消えることは無さそうだが。
471:名無しさん@お腹いっぱい。
04/02/13 09:49
少しぐらいのバギー加減は、ユーザーにコンパイラの内部動作に
関心持ってもらうためには必要だと思われ。とかいってみる。
472:名無しさん@お腹いっぱい。
04/02/15 03:50
>>471
emacs-21.3をleim入れてコンパイルしたら使い物にならないバイナリを吐くのも
啓発のためっすか?(泣)
最初 big-5 あたりでcore吐いていたので configure と Makefile いじれば
なんとかなるかと思って色々やってみたんだけど...
結局 3.2.3 にダウングレードしちゃった。手持ちソースではこちらの方が安定
しているみたいだし。
473:名無しさん@お腹いっぱい。
04/02/15 10:02
>>472
Emacs current つかいなよ。
474:名無しさん@お腹いっぱい。
04/04/16 01:51
いつの間にか 3.3.3 出てるのな。
アーカイブのディレクトリ構成かわってて気づかなかった。
475: ◆ieqrh9GF7Y
04/04/18 11:20
gccの挙動に関しての質問てどこに投げればいいの?
gcc-help ?
因みに質問は以下のコードをコンパイルすると if の部分
がなくなるのはなぜ?ってことなんだけど。
int hoge(signed char ch)
{
if ((unsigned short)ch > 127)
return 0;
return 1;
}
476:名無しさん@お腹いっぱい。
04/04/18 11:33
くだらない質問はここに書き込め!なんでもアリ32
スレリンク(unix板)
エスパーが次の人にアドバイスするスレ
スレリンク(unix板)
477:名無しさん@お腹いっぱい。
04/04/18 12:49
(キミのプラットフォームでは) signed char が取り得る範囲が -128~
127 で、その if は常に false でそ。
478:名無しさん@お腹いっぱい。
04/04/18 13:12
charが1byteではない。もしくは
-128から127っていう範囲でないっていう環境はあるの?
479:名無しさん@お腹いっぱい。
04/04/18 13:43
いまだにOpenBSD上でgcc2.95系使ってる俺って…
480:名無しさん@お腹いっぱい。
04/04/18 14:09
>>477
その説明はおかしい。
unsigned short にキャストしているから、
たとえば ch が -128 なら
(unsigned short の最大の値+1)-128になる。
大抵の環境で、unsigned short の最大の値は 127 より大きいので、
(unsigned short)ch は 127 よりおおきい値になり得る。
>>475
gccの問題のようですね。比較の相手を127でなくて1にしても
同じ症状が出ますから、charの範囲、という問題でもない。
481:名無しさん@お腹いっぱい。
04/04/18 14:54
>>480
> 大抵の環境で、unsigned short の最大の値は 127 より大きいので、
> (unsigned short)ch は 127 よりおおきい値になり得る。
そこで止まっちゃだめだよ。
もしch = -128だったら、unsigned shortにキャストした段階で符号ビットを
延長するので左辺は1...10000000。一方、右辺は整数定数127。これはサフィ
クスがない10進数でintで表現しきれるのでintとして扱われる。
比較演算子の左辺はunsigned short、右辺はintだから、演算を適用する前に
両方ともintへキャストされる。intはunsigned shortより小さいことはないか
ら、左辺のビットパターンはそのまま。よって最初のchが負の値の場合、キャ
スト後のintとしての左辺も必ず負の値になるので、この条件文は常に偽。
482:名無しさん@お腹いっぱい。
04/04/18 15:01
>>481
感動した
483:名無しさん@お腹いっぱい。
04/04/18 15:27
>>481
> intとしての左辺も必ず負の値になるので
なりませんよ。
signedをunsignedにしたばあい、unsignedの範囲に入るようにunsignedの最大値+1を
必要な回数だけ加算する。singed char -1をunsigned shortにした場合USHRT_MAXになる。
つぎに、int以下の整数演算はintに格上げされて演算される(右辺がintでなくても格上
げされる)が、値保存で変換されるのでUSHRT_MAXのまま。
unsigned shortがintより範囲が広い場合、両辺がunsigned shortに変換されて比較されるので、
結果は同じ。
484:名無しさん@お腹いっぱい。
04/04/18 15:32
>>481
ちがう。ch=-128 (10000000) で
unsigned short が 16 ビットだとしたら、
左辺は 1111111110000000 になる。これを int (符号付き)
に promote (キャストではない) させる。
int が 32 bit だとしても、unsigned short からの
変換だから、左に 1 は補われない。ゆえに、
00000000000000001111111110000000
になる。
485:名無しさん@お腹いっぱい。
04/04/18 15:46
>>475
if ((unsigned int)ch > 127)
にしる。
どうしても unsigned short で比較したい場合は
右辺も unsigned short の入れ物に入れる。
486:名無しさん@お腹いっぱい。
04/04/18 15:53
unsigned shortにキャストする意味って何?
487:名無しさん@お腹いっぱい。
04/04/18 16:13
プログラムの意図が全くわからんな。
int hoge(signed char ch)
{
return ch >= 0;
}
ってやりたいわけ?
488:名無しさん@お腹いっぱい。
04/04/18 16:20
gcc の中の人も大変だな。
489:名無しさん@お腹いっぱい。
04/04/18 16:45
signed charなんてものを作った奴は腹かっさばいてお詫びしろや。
490:名無しさん@お腹いっぱい。
04/04/18 17:47
符合付き8bit整数はごく普通のデータ型ですよ。
8080とかね。
491:名無しさん@お腹いっぱい。
04/04/18 18:08
つーか最初にchar をungigned なoctet にした奴に栄光あれ、だな。
492:名無しさん@お腹いっぱい。
04/04/18 21:09
規格上はどっちでもいいよ。
signed char, unsigned charと同じ値を持たなくてもいいし。
493: ◆ieqrh9GF7Y
04/04/18 22:49
例はバグを簡略化したものです。
>>484 同じ解釈です。
>>480 gcc の問題とすると報告すべきはどこ? <- 元の質問の意図
127 を 128 にすると、if は残る。逆に gcc -O0 で作っても
if 部分は影も形もなくなるので、Optimizer の仕業ではなく、
C言語仕様解釈の問題だと思ってる。
494:名無しさん@お腹いっぱい。
04/04/18 23:12
URLリンク(gcc.gnu.org)
495:名無しさん@お腹いっぱい。
04/04/19 01:14
このプログラムのほうが問題点が明確になるかな。
i は明らかに 1より大きいのに、それを1と比較すると0になる。
-O0でも同じ。 gcc2.95.4だと期待した通りになる。
#include <stdio.h>
main()
{
char c = -128;
int f, i;
i = (unsigned short) c;
f = (unsigned short) c > 1;
printf("i => %d, i>1 => %d\n", i, f);
}
496:名無しさん@お腹いっぱい。
04/04/19 01:49
些細なことですが return 0; しとこうね。
497:名無しさん@お腹いっぱい。
04/04/19 03:58
precompiled header に魅かれてgcc3.4インストールしたのに
>sorry, unimplemented: had to relocate PCH
って言われた。
どういうことじゃヽ(`Д´)ノ
498:名無しさん@お腹いっぱい。
04/04/19 07:01
>>495-496
C99では明示的にreturn 0;を書く必要はありませんね。
まあ gcc2.95.4 には関係ないことでしょうけど。
499:名無しさん@お腹いっぱい。
04/04/19 07:48
>>478
SHARC/TigerSHARC は char は32bitですよ。
こいつはGCCが標準コンパイラです。
500:名無しさん@お腹いっぱい。
04/04/19 10:12
じゃ、shortも32bitなんだ
501:名無しさん@お腹いっぱい。
04/04/19 10:29
>>495を、
gcc -c -O -dra foo.c すると、"ce1"の後に消える。
gcc -c -O0 -dra foo.c すると、なぜかcompareは残ったままだね。
"mach"の後で消えてるのかな。
502:名無しさん@お腹いっぱい。
04/04/20 00:29
>>500
鋭いですね、そうですよ。
で、sizeof( 整数の型名 ) するとどれも1が返ってきてあせる(笑)
バイトアドレシッシングじゃなくてワードアドレッシングだからこれで正解なんだろうけど
503:名無しさん@お腹いっぱい。
04/04/20 00:53
BCPLかよ!?
504:名無しさん@お腹いっぱい。
04/04/20 17:46
よく分かんないんだけど、つまりCHAR_BITSが32ってこと?
505:名無しさん@お腹いっぱい。
04/04/21 21:18
3.4.0 release sage
506:名無しさん@お腹いっぱい。
04/04/21 21:45
>>505
gccの公式ページよりdistrowatchの方が早くアナウンスしてたのには
驚いた。
まだ使うにはたぶん危険だよね?パフォーマンスはアップしてるのかな?
507:名無しさん@お腹いっぱい。
04/04/21 22:00
危険大好き
508:名無しさん@お腹いっぱい。
04/04/21 23:01
>The cast-as-lvalue extension has been removed for C++ and deprecated for C and Objective-C.
これってANSIかなんかの規格がそうなってるのかな?
ときどき使ってるからちょと痛い
509:名無しさん@お腹いっぱい。
04/04/21 23:04
URLリンク(gcc.gnu.org)
510:名無しさん@お腹いっぱい。
04/04/22 07:37
ミラー逝きわたるっていったいどこを泳いでるの?
全然見当たらないんだけど。
511:名無しさん@お腹いっぱい。
04/04/22 07:51
URLリンク(gcc.gnu.org)ってことだからなぁ
512:名無しさん@お腹いっぱい。
04/04/22 13:19
>>510
一昨日にはもう ftp.iij.ad.jp にあったぞ。
513:名無しさん@お腹いっぱい。
04/04/22 13:54
ringも来てるところはある。
514:名無しさん@お腹いっぱい。
04/04/22 14:32
そんなことより3.3.3はなんで沈没してるんだ
515:名無しさん@お腹いっぱい。
04/04/22 19:05
gccは3.3.3が最高傑作。とか後々までかたられるでしょう。
516:名無しさん@お腹いっぱい。
04/04/22 22:16
>>515
なんだって~(AA略)
517:名無しさん@お腹いっぱい。
04/04/22 23:02
騙られる、だったりして
518:名無しさん@お腹いっぱい。
04/04/23 18:10
>>495の3.4.0だとfは1になってる。
519:名無しさん@お腹いっぱい。
04/04/30 01:16
>>508
3.4.0でのビルドを試して見ましたが、3.3以前でOKだった、幾つかの作法の悪いプログラムは全滅ですね。
丁寧に直せばいいんでしょうけどね…
520:名無しさん@お腹いっぱい。
04/04/30 02:40
3.5からはCもエラーにするらしい。
早めに直しておきませう。
521:名無しさん@お腹いっぱい。
04/04/30 04:43
縛りがきつい方が有難い。
522:名無しさん@お腹いっぱい。
04/04/30 09:00
きついのに血行を妨げないのがプロの縛り方
523:名無しさん@お腹いっぱい。
04/04/30 14:36
nmしたときやg++ -Sしたときに、コンストラクタやデストラクタに
Foo::Foo[in-charge]() のように[なんちゃら]と注釈が入っている場合がありますけど、
これって何ですか?どこかに解説ありませんか?
in-charge, not-in-charge, in-charge deleting などがあるようで...
524:名無しさん@お腹いっぱい。
04/05/02 12:37
ドスドスドスドス
この洗いを作ったのは誰だぁ!!
525:名無しさん@お腹いっぱい。
04/05/02 22:44
雄山?
526:名無しさん@お腹いっぱい。
04/05/03 18:17
だな。
527:名無しさん@お腹いっぱい。
04/05/04 07:54
>>523
$(GCC)/gcc/cp/decl2.c
/* Constructors for types with virtual baseclasses need an "in-charge" flag
saying whether this constructor is responsible for initialization of
virtual baseclasses or not. All destructors also need this "in-charge"
flag, which additionally determines whether or not the destructor should
free the memory for the object.
$(GCC)/gcc/cp/mangle.c
/* Handle destructor productions of non-terminal <special-name>.
DTOR is a destructor FUNCTION_DECL.
<special-name> ::= D0 # deleting (in-charge) destructor
::= D1 # complete object (in-charge) destructor
::= D2 # base object (not-in-charge) destructor
528:名無しさん@お腹いっぱい。
04/06/24 19:20
>>522
めちゃワロタ
529:名無しさん@お腹いっぱい。
04/07/01 01:16
gcc3.3.4のチャンゲログが無いですがな
530:名無しさん@お腹いっぱい。
04/07/01 01:33
3.x はバージョン進むのが早いな。
531:名無しさん@お腹いっぱい。
04/08/01 17:52
ICEってかっこいい響きだよな
532:名無しさん@お腹いっぱい。
04/08/01 19:49
ドイツの新幹線もICE
533:名無しさん@お腹いっぱい。
04/08/01 22:35
Inter City Express というのか。
In-Circuit Emurator
Internal Compiler Error
あとは?
534:名無しさん@お腹いっぱい。
04/08/01 22:57
X11のInter-Client Exchange protocolもな
535:名無しさん@お腹いっぱい。
04/08/01 23:21
Integral
Cool
Energy
536:名無しさん@お腹いっぱい。
04/09/09 18:35
Solaris9で、バイナリーのgcc-3.4.1をインスコしたら
ld.so.1: gcc: 重大なエラー: libiconv.so.2: open に失敗しました: ファイルもディレクトリもありません。
強制終了
となってしまいます。
2台やって2台とも同じでした。
iconvのバイナリーってどこで入手できますか?
537:名無しさん@お腹いっぱい。
04/09/09 18:38
>>536
おんなじとこにあるべ
538:名無しさん@お腹いっぱい。
04/09/10 01:24
GCC 3.4.2 age
539:名無しさん@お腹いっぱい。
04/09/22 01:13:44
>>536
Bruno Haible
540:名無しさん@お腹いっぱい。
04/09/25 12:21:56
3.4.1 から 3.4.2 に上げたら生成されるバイナリが
libgcc_s.so.1 をリンクするようになった。
このへん何か変わった?
541:名無しさん@お腹いっぱい。
04/09/25 13:20:19
うん。
542:名無しさん@お腹いっぱい。
04/10/01 08:30:58
GCC 4.0のおいしいところは?
543:名無しさん@お腹いっぱい。
04/10/01 10:08:14
スパイスが効いているところ。
544:名無しさん@お腹いっぱい。
04/10/13 08:31:24
ひどいめにあわすよ
545:名無しさん@お腹いっぱい。
04/10/27 05:40:08
プリコンパイルヘッダの作り方は
gcc /usr/include/**/*.h
でいいんだっけ?
546:名無しさん@お腹いっぱい。
04/10/28 00:19:18
URLリンク(gcc.gnu.org)
547:名無しさん@お腹いっぱい。
04/11/08 14:30:31
Reading specs from /usr/local/lib/gcc/sparc-sun-solaris2.9/3.4.3/specs
Configured with: ../gcc-3.4.3/configure --disable-nls
Thread model: posix
gcc version 3.4.3
548:名無しさん@お腹いっぱい。
04/11/09 09:00:50
さてGCC4のリリースも近づきつつある今日この頃。
自分はこまめにビルド・チェックするほどの追っかけじゃなかったけど、GCC3というプロダクトはどのような評価に値する物だったのでしょか。
漏れには、伽藍時代よりテンポ良くリリースされていった分、各Linuxディストロもそれに振り回されてたような印象が。
あとGCC3は、例えば2.95.xや2.7.2.3並みに安定感のあるリリースがなされてたのでしょうか。
よろしければみんなの御意見、どぞ。
549:名無しさん@お腹いっぱい。
04/11/09 09:12:56
g++のC++規格追従上、3.X以外に考えられない。
550:名無しさん@お腹いっぱい。
04/11/09 11:45:48
3.4系はほとんど使われないまま4.0に移行しそうな予感が。
551:名無しさん@お腹いっぱい。
04/11/15 23:45:48
いまだに 2.95.x だよ。もう 4.x の足音が聞こえるような時期なのか。
552:名無しさん@お腹いっぱい。
04/11/27 00:28:14
神ID
スレリンク(northa板:2番)
2:名無しさん []:04/11/27 00:26:40 ID:LIqjWGCC
逃げっと
553:名無しさん@お腹いっぱい。
05/01/27 12:55:20
あげ
554:名無しさん@お腹いっぱい。
05/01/27 15:15:15
gcc-4.0 が出るまでにこのスレを使いきろう…
555:名無しさん@お腹いっぱい。
05/01/27 17:29:04
いつ出るのさ
556:名無しさん@お腹いっぱい。
05/01/27 21:02:08
>>555
予定では近いうちに出るはずだが。
漏れ的にはsh-elfの-m2aが腐っているぽいのでもう少し待ってほしい所ですな。
557:名無しさん@お腹いっぱい。
05/01/27 22:05:24
(´-`).。oO(Unix板にGCCって必要なんだろうか。。。)
558:名無しさん@お腹いっぱい。
05/01/28 18:09:11
>>557
必要ないの?
559:名無しさん@お腹いっぱい。
05/02/04 14:34:09
gcc.gnu.orgがHDDあぼーんしたらしい。
560:名無しさん@お腹いっぱい。
05/02/04 21:28:00
>>559
そうらしいね。
なんかファイルシステムに問題あったらしいよ。
現在、復旧中らしい。
561:名無しさん@お腹いっぱい。
05/02/04 21:31:39
反GPLな奴らのアタック
562:名無しさん@お腹いっぱい。
05/02/05 02:29:14
アナウンスが来てから12時間ほど経ったが…まだ復旧してないのか。
これは長引きそうだな。
まあ急ぐ用事も無いから別に構わんが。
563:名無しさん@お腹いっぱい。
05/02/08 22:08:57
4.0で新しくなる項目だとよ
What will be in 4.0
URLリンク(gcc.gnu.org)
564:名無しさん@お腹いっぱい。
05/04/22 11:05:39
gcc-4.0 が出たらしいですが、スレ違いでしょうか
565:名無しさん@お腹いっぱい。
05/04/22 12:32:04
びみょー
566:名無しさん@お腹いっぱい。
05/04/27 13:50:34
gcc-4.0 で fortran を使うにはどうしたらよいでしょうか?
567:名無しさん@お腹いっぱい。
05/04/27 13:54:41
>>566
スレタイ見ろよ。
スレ違いもいいとこだろが。
ったく。
568:名無しさん@お腹いっぱい。
05/04/27 14:39:07
>>567
>>563
569:名無しさん@お腹いっぱい。
05/04/27 14:42:23
GCC 3.0がリリーナされるのはいつですか?
570:名無しさん@お腹いっぱい。
05/04/28 00:03:01
3と4は別スレじゃなくてもいいんじゃね?
571:名無しさん@お腹いっぱい。
05/04/28 00:29:45
しっかし、このスレ息長すぎー。
4年近く存在するのか。
572:名無しさん@お腹いっぱい。
05/04/28 13:39:53
遅蒔きながら、祝・GCC 4.0リリース。
gcc.gnu.org/gcc-4.0/changes.html とかは当然読んだんだけれど、他のサイトでリリースに対する反応があったらURLコピペぷりーず。
573:名無しさん@お腹いっぱい。
05/04/28 18:29:22
とりあえず /. の記事。
GCC 4.0.0 Released
URLリンク(developers.slashdot.org)
GCC 4.0.0リリース
URLリンク(slashdot.jp)
574:名無しさん@お腹いっぱい。
05/05/03 22:28:44
A Review of GCC 4.0
URLリンク(developers.slashdot.org)
575:名無しさん@お腹いっぱい。
05/05/05 20:16:14
GCC 4.0
A Review for AMD and Intel Processors
URLリンク(www.coyotegulch.com)
576:名無しさん@お腹いっぱい。
05/05/05 20:27:58
しまった。>>574 の元記事だったか。
577:名無しさん@お腹いっぱい。
05/05/14 05:43:22
いまだにgcc-2を使っていますが何か?
578:名無しさん@お腹いっぱい。
05/05/14 09:18:39
>>577
ニートですか?
579:名無しさん@お腹いっぱい。
05/05/14 10:53:11
ABIを変えたら負けだとおもってる。
gcc2.95を使ってる自分は勝ってるとおもいます。
580:名無しさん@お腹いっぱい。
05/05/18 16:11:20
むぅ……。gcc-4.0.0 で rrdtool を作れない。
3.4.3 で作れたから困りゃしないんだけど。Solaris10。
checking if IEEE math works out of the box... no
checking if IEEE math works with the -ieee switch... no
checking if IEEE math works with the -qfloat=nofold switch... no
checking if IEEE math works with the -w -qflttrap=enable:zerodivide... no
checking if IEEE math works with the -mieee switch... no
checking if IEEE math works with the -q float=rndsngl switch... no
checking if IEEE math works with the -OPT:IEEE_NaN_inf=ON switch... no
checking if IEEE math works with the -OPT:IEEE_comparisons=ON switch... no
checking if IEEE math works with fpsetmask(0)... no
checking if IEEE math works with signal(SIGFPE,SIG_IGN)... no
configure: error:
Your Compiler does not do propper IEEE math ... Please find out how to
make IEEE math work with your compiler and let me know (oetiker@ee.ethz.ch).
Check config.log to see what went wrong ...
581:名無しさん@お腹いっぱい。
05/05/18 17:40:26
むぅ……。top-3.5.1 もコケた。gcc-3.4.3 なら問題なし。
4.0 はまだ手を出すべきじゃないのかしらん。
582:名無しさん@お腹いっぱい。
05/05/18 17:48:58
バグレポートしろよ
583:名無しさん@お腹いっぱい。
05/05/18 18:40:57
そうなんだけど、プログラムは専門外だから
ソースが悪いのかコンパイラが悪いのか切り分けできないんだもん。
584:名無しさん@お腹いっぱい。
05/05/18 18:55:07
>>583
切り分けは developer にしてもらえばよいのでは?
URLリンク(news.gmane.org)
585:名無しさん@お腹いっぱい。
05/05/21 11:32:27
gcc 3.4.4出ましたよ。今のところ、これが一番安全パイ?
586:名無しさん@お腹いっぱい。
05/05/22 15:35:41
3.3.5じゃない?
587:名無しさん@お腹いっぱい。
05/05/22 16:21:34
3.3.6じゃなくて?
588:名無しさん@お腹いっぱい。
05/05/22 17:59:47
うちも 3.3.6
589:名無しさん@お腹いっぱい。
05/05/23 13:47:26
2.95.2
590:名無しさん@お腹いっぱい。
05/05/23 17:04:54
2.95.3 じゃなくてーってなんかもう話題ないんか
591:名無しさん@お腹いっぱい。
05/05/25 22:25:32
m68kでi*86のクロスとか、変なことしてる奴いるけ?
592:名無しさん@お腹いっぱい。
05/05/25 23:26:56
いるけ?
593:名無しさん@お腹いっぱい。
05/05/25 23:38:09
URLリンク(www.motenai.net)
594:名無しさん@お腹いっぱい。
05/06/19 19:03:22
アホみたいにメモリ喰うようになったな。
おれがdjgccで1.3Xとか使ってた頃は(以下略・・・
595:名無しさん@お腹いっぱい。
05/06/19 19:49:04
なんだいないのけ.
596:名無しさん@お腹いっぱい。
05/06/19 20:03:25
惰性で見てるよこのスレ。
gcc が出たころは衝撃だったなー。
売りもんのコンパイラよりいい最適化コード吐くし、
gcc のソースコードとかマニュアルとか読んでぞくぞくしてた。
597:名無しさん@お腹いっぱい。
05/06/20 00:19:58
>>596
スパーハッカキタ━(゜∀゜)━( ゜∀)━( ゜)━( )━(゜ )━(∀゜ )━(゜∀゜)━!!!!
598:名無しさん@お腹いっぱい。
05/06/20 06:57:20
gccはANSI Cを使うためだけに入れました。バージョン忘れた。
599:名無しさん@お腹いっぱい。
05/06/20 11:19:17
1.27とか1.36とか?
つーか1000行くまでに4.1出てるし(w
600:名無しさん@お腹いっぱい。
05/06/23 13:08:50
このペースなら5.0も期待できるな
601:名無しさん@お腹いっぱい。
05/07/01 23:33:23
そろそろ4.0.1かな?
602:名無しさん@お腹いっぱい。
05/07/08 23:46:44
URLリンク(gcc.gnu.org)
603:名無しさん@お腹いっぱい。
05/07/08 23:53:41
gccの中の人GJ!
低脳支那人逝ってよし
604:名無しさん@お腹いっぱい。
05/07/08 23:56:55
>>602
支那人が!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
605:名無しさん@お腹いっぱい。
05/07/08 23:57:23
すまん、火病おこしてしまったwwwwwwwwwwww
606:名無しさん@お腹いっぱい。
05/07/15 02:24:14
>>580
カメレスだけど。
CFLAGS=-fno-builtin でいけるよ。
607:名無しさん@お腹いっぱい。
05/07/15 07:16:29
gcc-4.0.1でperl-5.8.7がコンパイル出来ない。
miniperlがPATHどうこう言ってるけど、コンパイラの違いでそんなの影響出るんだろうか?
608:名無しさん@お腹いっぱい。
05/07/15 07:26:27
>>607
どんなエラー?
609:名無しさん@お腹いっぱい。
05/07/15 09:20:30
>>608
少し上から貼ると、こんなかんじ
CCCMD = x86_64-pc-linux-gnu-gcc -DPERL_CORE -c -D_REENTRANT
-D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O3 -mtune=k8 -march=k8
-msse3 -mfpmath=sse -ftracer -pipe -fforce-addr -minline-all-stringops
-mno-push-args -maccumulate-outgoing-args -fprefetch-loop-arrays
-fsched-spec-load -funit-at-a-time -Wall
x86_64-pc-linux-gnu-gcc -L/usr/local/lib -o miniperl \
miniperlmain.o opmini.o libperl.a -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
./miniperl -w -Ilib -MExporter -e '<?>' || make minitest
make: [extra.pods] Error 1 (ignored)
./miniperl -Ilib configpm --heavy=lib/Config_heavy.pl configpm.tmp
Can't find configpm on PATH, '.' not in PATH.
make: *** [lib/Config.pm] Error 29
確かに、カレントディレクトリにconfigpmはあるんだけど。
610:名無しさん@お腹いっぱい。
05/07/15 11:26:27
>>609
ふむ、よくわからんけど、config.sh の optim から最適化を外し
て、./Configure -S したあと、gmake するとか、thread 無しでコンパイルし
てみるとか。やってみたらどうかね。
611:名無しさん@お腹いっぱい。
05/07/15 11:30:09
よくわからんけど、メッセージだけ読むと PATH=.:$PATH make
コンパイラの違いは不明
612:607
05/07/15 15:45:30
やっぱり、インタプリタレベルスレッドを使わないと問題ないようです。
とりあえず、しばらくはperlだけ諦めます。
613:名無しさん@お腹いっぱい。
05/07/17 09:20:16
libpcapがgcc-4.0.1だと死にました。実際はtcpdumpから呼び出されて死ぬんだけど。
もう詳しい事はわからん。
614:名無しさん@お腹いっぱい。
05/07/17 09:51:55
>>613
gdb tcpdump core
backtrace
615:613
05/07/17 11:28:40
-O2なら平気で-O3だと駄目みたい。
他に何も指定して無くても。
アーキテクチャはx86_64です。
tcpdumpのexpression指定しなければ落ちません。
バックトレースは深すぎるので、適当に
-O3 -ggdb3でlibpcapを作って
-O0 -ggdb3でtcpdump作った結果。
#0 0x00002aaaaae3125b in icode_to_fcode () from /usr/lib/libpcap.so.0
#1 0x00002aaaaae3159c in icode_to_fcode () from /usr/lib/libpcap.so.0
#2 0x00002aaaaae33efd in bpf_optimize () from /usr/lib/libpcap.so.0
#3 0x00002aaaaae25c07 in pcap_compile () from /usr/lib/libpcap.so.0
#4 0x00000000004500f4 in ?? ()
#5 0x00002aaaaaf67893 in __libc_start_main () from /lib/libc.so.6
616:名無しさん@お腹いっぱい。
05/07/17 11:40:39
-finline-functionsが原因みたい。単体でも落ちた。
617:名無しさん@お腹いっぱい。
05/07/17 12:35:40
x86_64 ってOSによっては安定してなかったり?
618:名無しさん@お腹いっぱい。
05/07/17 17:21:39
どうなんでしょう。私は、gentoo linux使ってます。
4.1-CVSでもprofilebootstrap失敗するし、i386と比べたら安定してないんでしょうね。
619:名無しさん@お腹いっぱい。
05/07/17 23:06:57
>>615
> アーキテクチャはx86_64です。
何故先に言わん(w
シグナル受けたんならどのシグナルかくらい晒さないと…
620:名無しさん@お腹いっぱい。
05/07/18 02:25:22
>>619
シグナル核の忘れてました。SEGVです。
dmesgが埋め尽くされてる。
tcpdump[24386]: segfault at 0000000000000030 rip 00002aaaaae3125b rsp 00007fffff82f1a8 error 4
621:名無しさん@お腹いっぱい。
05/07/18 07:45:07
バウンダリ関係かねえ。
libpcapを-g付きでcompileしてdebugが王道だと思うけど、
-mpreferred-stack-boundary= 辺りを試してみるのもいいかもねえ。
-march=k8にはなっているよね?
622:名無しさん@お腹いっぱい。
05/07/18 10:13:07
Linux 2.6.12.3にしてみたら動作が変わった…。
-O -finline-funcionsはokになりました。
-O2 -finline-functionsだと落ちます。
-O2はonになるフラグが多すぎて、ちょっと調べきれないです。
-finline-limitで11までに制限すればok。12以上で落ちます。
-march=k8指定、-mpreferred-stack-boundaryは4,8,12はどれも解決にはなりませんでした。
なんか、デバッグ情報が出るようになったので貼ってみます。libpcap-0.9.3です。
#0 find_levels_r (b=0x0) at optimize.c:222
#1 0x00002aaaaae2df2b in find_levels_r (b=0x6fe7b0) at optimize.c:230
#2 0x00002aaaaae2df1f in find_levels_r (b=0x6fdbc8) at optimize.c:229
#3 0x00002aaaaae2ec40 in opt_loop (root=0x6fdbc8, do_stmts=0)
at optimize.c:251
#4 0x00002aaaaae303fc in bpf_optimize (rootp=0x2aaaaaf463e0)
at optimize.c:1740
#5 0x00002aaaaae2592a in pcap_compile (p=0x6fd2b0, program=0x7fffffaf1260,
buf=0x6fd120 "port 80", optimize=1, mask=16777215) at gencode.c:386
#6 0x00000000004500f4 in ?? ()
#7 0x00002aaaaaf63893 in __libc_start_main () from /lib/libc.so.6
gcc-4.0.1で-fstack-check, 3.4.4で-fstack-protector使ってみたけど何も出ませんでした。
623:名無しさん@お腹いっぱい。
05/07/18 10:38:15
ifのjumpかな?
-Osだとどうだろう。
-falign-functions -falign-jumps -falign-loops -falign-labels
-freorder-blocks -fprefetch-loop-arrays がオフ。
624:名無しさん@お腹いっぱい。
05/07/18 11:19:08
-fno-strict-aliasing
をつけるとどうなる?
URLリンク(makimo.to)
URLリンク(slashdot.jp)
625:名無しさん@お腹いっぱい。
05/07/18 11:35:46
>>623
-Osはだめでした。
>>624
いけました。ばっちりです。
いろいろ問題ありそうですけど、今のところこれ以外当たってないんですよね。
portageつかってるから、まずいのがわかっている場合は回避してる可能性がありますが。
626:名無しさん@お腹いっぱい。
05/09/18 16:40:56
gcc4は-O1でも-fprefetch-loop-arrays効くのかな
627:名無しさん@お腹いっぱい。
05/09/29 09:12:48
4.0.2が出ました。
628:名無しさん@お腹いっぱい。
05/09/29 21:48:28
3.3や3.4より早いバイナリを作れるようになるのはいつですか?
629:名無しさん@お腹いっぱい。
05/09/30 00:18:55
4.3や4.4になるまでお待ちください。
630:名無しさん@お腹いっぱい。
05/09/30 07:45:55
つーか3.3, 3.4でいいじゃん。
4系はerror recoveryちょっと賢くなった気がするが。
631:名無しさん@お腹いっぱい。
05/09/30 14:43:19
GCCは3.2.xのころが一番早くて安定しててよかった。。。
632:名無しさん@お腹いっぱい。
05/09/30 14:44:13
631です。漢字間違えた。
「早」 → 「速」
633:名無しさん@お腹いっぱい。
05/10/24 01:07:39
でも4.xのcc1plusは明らかに3.xのより速いよ。
634:名無しさん@お腹いっぱい。
05/10/24 06:01:42
4.1のcc1plusは速い。
吐くコードは知らん。
635:名無しさん@お腹いっぱい。
05/11/28 17:33:48
gcc-2.9では通るのにgcc-3.3では voidのとこでエラーになるんですが何故?
prase error before `!' token
636:名無しさん@お腹いっぱい。
05/11/28 17:46:07
コードさらせYO
637:名無しさん@お腹いっぱい。
05/11/29 14:54:40
なんでだお!
638:名無しさん@お腹いっぱい。
05/11/29 16:47:57
それだけの情報で、どう指摘するんだお!
639:名無しさん@お腹いっぱい。
05/11/29 19:12:21
先生! 問題を明確にしない限り、答える事もできないと思います!
\
 ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧∩
( ・∀・)/
_ / / /
\⊂ノ ̄ ̄ ̄ ̄\
||\ \
||\|| ̄ ̄ ̄ ̄ ̄||
|| || ̄ ̄ ̄ ̄ ̄||
640:名無しさん@お腹いっぱい。
05/11/29 19:15:13
(・3・) 先生は出張中です。
641:名無しさん@お腹いっぱい。
05/12/02 14:04:25
3.4.5 が出ました。
642:名無しさん@お腹いっぱい。
05/12/06 23:45:35
4.2まだー?
643:名無しさん@お腹いっぱい。
05/12/12 19:33:39
5.0はどうですか
644:名無しさん@お腹いっぱい。
05/12/21 10:16:41
>>635
そのgccエラーメッセージおかしいよ
野良ビルドしたんじゃないの?
praseってスペルミスありえない
645:名無しさん@お腹いっぱい。
05/12/21 14:39:52
エラーメッセージはコピペが基本だよなあ
646:名無しさん@お腹いっぱい。
05/12/30 15:49:37
ところでアンインストールはどうやったらいいの?
make uninstallだと弾かれる。
647:名無しさん@お腹いっぱい。
05/12/30 16:06:53
アプリのアンインストールってどうやるの?
スレリンク(unix板)
648:名無しさん@お腹いっぱい。
06/02/25 21:54:59
4.1って安定版?
649:名無しさん@お腹いっぱい。
06/02/25 22:13:30
まだスナップショットしか出てないと思うけど。
私はLinux on amd64でメインに使ってます。
650:名無しさん@お腹いっぱい。
06/02/26 00:37:13
>649
完成したら4.2として公開されるのでしょうか?
651:名無しさん@お腹いっぱい。
06/02/26 02:40:45
4.2ってスナップ出てるんあないっけ?
652:名無しさん@お腹いっぱい。
06/02/26 22:37:36
>>650
4.1が完成したら4.1として公開されますよ。
Linuxみたいに「このバージョンは安定版、このバージョンは実験版」
という区別はありません。
653:648
06/02/26 23:58:48
どうもありがとうございました
654:名無しさん@お腹いっぱい。
06/02/27 03:06:18
そうはいってもGCCってmajor > minorなうちは実験版という評価がもっぱらのような
655:名無しさん@お腹いっぱい。
06/02/27 18:26:02
2.5.8とか
656:名無しさん@お腹いっぱい。
06/02/27 18:48:03
gcc-1.4.2 はいいデキでしたよ。
657:名無しさん@お腹いっぱい。
06/02/28 12:40:22
>>654
評価っていうかジンクスでしょ
658:名無しさん@お腹いっぱい。
06/03/01 15:25:28
gcc-4.1.0 キタ━━━(゚∀゚)━━━ !!!!!
659:名無しさん@お腹いっぱい。
06/03/02 04:56:28
maji?
660:名無しさん@お腹いっぱい。
06/03/02 06:29:44
>>659
URLリンク(gcc.gnu.org)
> February 28, 2006
> GCC 4.1.0 has been released.
URLリンク(gcc.gnu.org)
661:名無しさん@お腹いっぱい。
06/03/02 21:52:08
4.0.2 までは素直にbuild通ってたのに4.1.0で落ちる orz
Solarisダメポ
662:名無しさん@お腹いっぱい。
06/03/03 12:29:17
Solarisはgccのバージョンが上がる最初の版は大抵そのままではうまくいかないw
663:名無しさん@お腹いっぱい。
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のバージョンを上げるとエラーになるため、問題が発覚します。
730:名無しさん@お腹いっぱい。
12/09/14 21:23:43.48
GNU asで、
mov (%ebx), %eax ← ディスプレイスメント(オフセット)なし
mov 0x12(%ebx), %eax ← 8bitディスプレイスメント
mov 0x12345678(%ebx), %eax ← 32bitディスプレイスメント
のようなアドレッシングモードがあって、
ディスプレイスメントのサイズの違う各命令のどれを使うかは
アセンブル時に実際の値で判断して自動決定されますが、
敢えてディスプレイスメントのサイズを明示指定するにはどう書けばいいんでしょう?
たとえば、強制的に32bitディスプレイスメントの命令を使いたいのですが、
mov 0x00000000(%ebx), %eax とか書いても
mov (%ebx), %eax でアセンブルされてしまいます。(dispなし)
mov 0x00000012(%ebx), %eax とか書いても
mov 0x12(%ebx), %eax でアセンブルされてしまいます。(dispは8bit)
(わかってるとは思いますが、オペランドのデータサイズのことではありません)
命令コードを直接.byteで書け、はナシでお願いします。
わかる方いますか?
731:730
12/09/15 10:44:48.95
自己解決しました
732:名無しさん@お腹いっぱい。
12/09/15 11:26:35.79
>>731
どうやって解決したの?
733:名無しさん@お腹いっぱい。
12/09/15 11:37:47.55
回答できなかった者の逆に教える義理はないよ
734:名無しさん@お腹いっぱい。
12/09/15 12:43:03.30
日本語で。
735:名無しさん@お腹いっぱい。
12/09/15 13:18:08.40
元々疑問にも思ってなかったことの回答聞かされても誰も興味ねーだろ
736:名無しさん@お腹いっぱい。
12/09/15 22:13:01.41
このスレなんですか
737:名無しさん@お腹いっぱい。
12/09/16 16:27:31.40
今月はじめ、職場に新しい組み込みマシン(ファンレスの結構省電力構成)が入りました。
多分私が開発全般をまかされそうな雰囲気です。業務的にとある構造分析や
シミュレーションなど行う必要があり、プログラムにアセンブラを使用するのは
聞いていたのですが、添付のサンプルソースコードからチラッと見えたのは
LD A,(HL)という命令でした。
「うへぇ~、よりによってZ80かよ」
アドレッシングモード皆無、リロケート不可、使いにくいインデックスレジスタ、
今時の関数引数のスタック渡しに対応できるのか不安はつきませんし、
今の若者はこんなCPU使わないので人材も少なくソフト開発も大変です。
おそらく導入に際して、大学など教育機関で最初にZ80に触れて刷りこまれた人間が
強気の知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。
昔、当時、8bitCPUでi8080上位互換でi8085よりも多くのツギハギ命令を追加拡張した
Z80は大学など教育機関に浸透していて、日本のCPU界に多くのバカが輩出しました。
これから私は、おそらくそういうバカが、ADD A,(HL)はできるのにADD B,(HL)は
できないのかとか、相対アドレスのCALL命令はないのとか、
スタックフレームポインタとして使いたいのにLD HL,SPっていう命令ないじゃんとか、
アセンブラ通気取りの偏ったどうでもいい我侭を言い出し(だからZ80使うんじゃねーよ)
それと戦わなければならないのでしょう。そして時代によって決着している、
過去30余年のCPU界隈のくだらないそれらの議論が再現され、それに巻き込まれるの
でしょう。もう今からうんざりです。
だからお願いです。教育現場ではi386でもi568でもi686でも
x86_64でもなんでもいいですが現行のCPUにしてください。
教育機関で懐古趣味のバカを量産されると現場が非常に苦労するのです。
738:名無しさん@お腹いっぱい。
12/09/16 17:09:36.03
コピペ改変
スレリンク(linux板:298番)
739:名無しさん@お腹いっぱい。
12/09/16 21:18:01.14
>>737
ネタニマジレスするとLD HL,SPは LD HL,0 / ADD HL,SP で桶。
スタックフレームならオフセット加算は必須なので、
オフセットを先にHLにロードしておいてからSPを加算する。
例えば関数の第1引数ならreturn addressの2byteの次だから、
LD HL,2 / ADD HL,SP ってやって、以降(HL)で値を取ってくる。
740:名無しさん@お腹いっぱい。
13/08/20 NY:AN:NY.AN
ほむほむ
741:名無しさん@お腹いっぱい。
13/09/02 20:03:19.80
祝・GCC 3.0リリース
742:名無しさん@お腹いっぱい。
13/09/27 16:40:54.47
祝・GCC 3.0リリース
743: 【中吉】 忍法帖【Lv=40,xxxPT】(1+0:8) 【18.2m】 電脳プリオン
14/02/01 19:08:01.00 BE:405408285-PLT(12081)
今のバージョンは?
744:名無しさん@お腹いっぱい。
14/04/05 23:11:46.52
あ
745:名無しさん@お腹いっぱい。
14/05/15 12:13:07.18
ぬるぽ
746:名無しさん@お腹いっぱい。
14/07/05 12:28:40.14
かっ!