のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,837人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレGCCについて part8

    gcc スレッド一覧へ / gcc とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - pragma + - spec + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    451 : デフォルトの名無 - 2008/07/01(火) 16:46:13 (+2,-29,-7)
    -mno-sse2 なんてオプションはなかったよなw
    452 : デフォルトの名無 - 2008/07/02(水) 00:25:02 (-1,-30,-20)
    >>451

    GCC 4 なら -mno-sse だけで -mno-sse2 -mno-sse3 まで付きますし
    GCC 3.4 はそれらを併用しても駄目ですね
    453 : デフォルトの名無 - 2008/07/02(水) 00:51:05 (+3,-29,-94)
    gccのことは知らないが、
    windowsだとlong modeでFDP/MMX系のレジスタは一切使わない。
    スタックフレームもレジスタ優先でほとんど使わないし、
    そのとき実数データの受け渡しにXMMレジスタ使ってる。
    XMM使うなというのが無理な話状態なのです。
    454 : デフォルトの名無 - 2008/07/07(月) 00:18:00 (+8,-29,-64)
    すみません、gdbの質問をしたいのですがここでもいいですか?

    gdbの中でグローバル変数の一覧を取得(表示)する方法はありますかね?
    ローカル変数に関してはinfo localsがありますが。
    457 : 454 - 2008/07/07(月) 09:49:28 (+62,+29,-116)
    >>455
    えっとグローバルなbssとdataのシンボルを見ろということですかね?
    やってみたんですが、自分がいじってるプログラムではどうもconstな変数が
    textにいるように見えるんですが... ldの挙動をコントロールしているようで。
    デバッグのときだけ「普通」にリンクするというのはありかもしれませんが...

    >>456
    やってみるとなんかエントリーが重複して見えるんですが、そんなもんですかね。
    ちなみにinfo localsと違って値を表示してくれたりはしないんですね。
    458 : デフォルトの名無 - 2008/07/12(土) 17:05:47 (+57,-29,-48)
    コンパイルをした日時を埋め込む・取り出す方法ってありますか?

    今はmake時に引数で`date`なんかを渡す方法を使ってるけど
    そのdefineを使うソースがコンパイルの対象になっていない限り
    反映されないので、いまいち使い勝手がわるいんです
    459 : デフォルトの名無 - 2008/07/12(土) 17:12:50 (+41,+13,+0)
    シェルで、日時を何かのファイルに書き込んで、
    それからコンパイル。
    460 : デフォルトの名無 - 2008/07/12(土) 17:15:10 (+66,-20,-15)
    そのソースを毎回必ずコンパイルするようmakefileを書けばいいのだと思うんだけど
    461 : デフォルトの名無 - 2008/07/12(土) 17:26:04 (+43,+11,-12)
    >>460
    その方向でやってみます
    となると、次はMakefileスレだな
    462 : デフォルトの名無 - 2008/07/12(土) 17:43:50 (-1,-29,+0)
    __DATE__ とかないんだっけ
    フォーマット考えると自分でやったがいいか
    463 : デフォルトの名無 - 2008/07/12(土) 18:08:17 (-1,-29,-8)
    all: hoge ・・・・・・・・
    hoge:
     絶対コンパイルしたいファイルをコンパイル
    でいいんじゃね?
    464 : デフォルトの名無 - 2008/07/12(土) 20:39:26 (+44,-29,-15)
    GNUmakeなら.PHONYとか
    465 : デフォルトの名無 - 2008/07/12(土) 21:02:58 (+57,+29,-2)
    ファイルの一番後ろに日付書いといたらいいんじゃないの
    466 : 458 - 2008/07/12(土) 21:20:32 (+100,+29,-23)
    やっぱ>>460の方法はやめました

    コンパイルする必要がないときでもmake叩くと必ずコンパイルされてしまう
    というのは俺の精神衛生上よくないことがわかりました
    467 : デフォルトの名無 - 2008/07/12(土) 22:36:37 (+12,-15,-7)
    コンパイルした実行ファイルの日付をチェックすればええんちゃう?
    468 : デフォルトの名無 - 2008/07/13(日) 00:51:20 (+32,-29,-14)
    埋め込むんじゃなく、コンパイルするたびに
    バイナリのMD5ハッシュと時刻をログファイルに記録すればいいんじゃね。
    469 : デフォルトの名無 - 2008/07/13(日) 01:02:01 (+3,-30,-191)
    質問です。
    インストールしたてのcygwinにgcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
    がインストールされているので、gccを最新版の4.3.1にしようと思ったのですが。
    configure --prefix=/usr/local とし、
    make したら
    /home/***/gcc-4.3.1/i686-pc-cygwin/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp:108: error: invalid use of incomplete type 'class __gnu_pbds::detail::thin_heap_<Value_Type, Cmp_Fn, Allocator>'
    のところで詰まってビルドが止まってしまいます。
    この原因についてご存知の方いらっしゃいませんか?
    470 : 458 - 2008/07/13(日) 01:33:13 (+62,+29,-9)
    >>468
    それも考えたのですが、なんか面倒なので
    リンカに頑張ってもらう方法を調べることにします
    471 : デフォルトの名無 - 2008/07/13(日) 09:04:25 (+71,+29,-37)
    >>466
    それはmakefileの書き方でいくらでも回避できるんじゃね?
    最後のlinkする所のtargetの中で依存関係無しにちょろっとccしてしまえばいいんじゃ
    472 : デフォルトの名無 - 2008/07/13(日) 10:07:05 (-2,-30,-29)
    cat `date` >> hogehoge

    とかやって、

    strings -a hogehoge
    とかやると、読めなくもない。
    473 : デフォルトの名無 - 2008/07/13(日) 10:09:39 (-1,-29,-14)
    stringsを使わなくても、

    tail -c [文字数] hogehoge
    でもいける。
    後から偽の時刻を埋め込まれたら知らんけど。
    474 : デフォルトの名無 - 2008/07/13(日) 10:36:17 (+57,+29,-34)
    いずれにしろ -D で渡すのも気に入らないとか、
    コンパイラのほうで実現するのは気持ち悪いとか言ってるから、
    スクリプトとか他のもので好きなように実現するのがいいんじゃないのか?
    475 : デフォルトの名無 - 2008/07/13(日) 11:08:07 (-2,-30,-50)
    %%%%%%%%%%CREATION_DATE%%%%%%%%%%%%%%% とか他にありえない文字列で
    領域を確保しておいて、ビルドした後で実行ファイル(ライブラリかも知らんが)を
    直接書き換えればいいんでは。
    476 : デフォルトの名無 - 2008/07/13(日) 19:12:12 (-2,-30,-32)
    foo: $(shell date).o

    $(shell date).c:
    477 : デフォルトの名無 - 2008/07/17(木) 04:56:52 (+59,-30,-148)
    VC++からの移行組です。
    VC++のソースをGCCでmakeしようとして、
    いくつかの違いのエラーで悩まされてしまいました。

    それで、どうやっても解決策・代用策が思い浮かばない点を質問させてください。

    this->m_char_table[ (add_unsigned<T>::type)c] = this->m_char_table_index;

    このように、テンプレートの型をunsignedにキャストして利用したいのですが
    GCCではエラーとなります。
    こういう使い方は出来ないのでしょうか?
    また代用の方法はないのでしょうか?

    gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
    を使用しています。

    よろしくお願いします。
    478 : マイク ◆yrB - 2008/07/17(木) 07:26:46 (-1,-29,+1)
    おっおっおっ⊂ニ( ^ω^)⊃
    ちょい書き込みtest
    479 : デフォルトの名無 - 2008/07/17(木) 09:13:45 (+61,+26,+2)
    >>477
    エラー張ってくれよ。
    480 : デフォルトの名無 - 2008/07/17(木) 09:14:20 (+27,+3,-1)
    あとcの型な。
    481 : デフォルトの名無 - 2008/07/17(木) 09:51:06 (+62,-30,-35)
    >>458
    __DATE__ __TIME__でいける。


    const char aaa[] = __DATE__ __TIME__;
    482 : 477 - 2008/07/17(木) 13:49:10 (+10,-30,-99)
    >>480
    cの型はテンプレート(T)です。
    基本的には、char、wchar_t、int、shortなどを取ります。
    それ以外の型が入れられる事はないようにはなっていますが
    基本的には特定はされません。(自分用のライブラリなので整数以外を取る事はありません)

    >>479
    error: dependent-name ` add_unsigned<T>::type' is parsed as a non-type, but instantiation yields a type
    です。役に立ちますでしょうか?


    よろしくお願いします。
    483 : 477 - 2008/07/17(木) 13:52:17 (+3,-30,-20)
    自己解決しました。
    そのエラーメッセージの後に
    note: say `typename add_unsigned<T>::type' if a type is meant
    と出ており、そのとおりやったら解決しました。
    盲点でした。

    どうもありがとうございました。
    484 : デフォルトの名無 - 2008/07/17(木) 13:55:51 (+91,+29,-8)
    どの辺が盲点なのかと。
    英語で書いてあるところか?
    485 : デフォルトの名無 - 2008/07/17(木) 14:04:14 (+32,-29,-6)
    つーかそれ、VC++でもエラーにならね?
    VC++6.0組?
    486 : デフォルトの名無 - 2008/07/17(木) 14:19:24 (+63,+26,-59)
    >>485
    6.0、2003、2005、2008で試したけど問題にならんよ。
    VC++はなぁなぁだからなぁ・・・。
    IEとかと同じで、その辺がMSの製品って好まれるんだろうね。
    いいとは思わんけど、ちゃんと規格にそってる方が敬遠される状態は勘弁してもらいたい。
    487 : デフォルトの名無 - 2008/07/17(木) 14:23:04 (+16,-30,-49)
    いや、この場合はGCCの規格が悪いと思う。
    普通に考えればtypenameをキャスト時にするのはおかしいもの。

    次に>>477が詰まるのは、wchar_tかなw
    wchar_tを取りうるって言ってるし。
    GCCのwchar_tは欠陥品な上、
    文字コードの統一の問題が・・・w
    488 : デフォルトの名無 - 2008/07/17(木) 15:02:46 (+3,-30,-59)
    >>487
    5.4 Explicit type conversion (cast notation)
    8.1 Type names
    7.1.5.3 Elaborated type specifiers
    くらい読めよ。

    あと「GCCの規格」なんてバカな言葉は使うな。
    どうせいうなら「GCCの仕様」あるいは「GCCの実装」だ。

    wchar_tもいい加減なこと言ってるよなあ。
    489 : デフォルトの名無 - 2008/07/17(木) 15:46:45 (+73,+29,-24)
    典型的な、コンパイラとライブラリの区別がつかないひと
    490 : デフォルトの名無 - 2008/07/17(木) 15:59:02 (+55,+29,-27)
    いや、GCCの仕様は馬鹿だろ
    あれほど必要の無い理解しがたい仕様をつめるのは
    頭の悪い俺には理解できんよ(笑)
    491 : デフォルトの名無 - 2008/07/17(木) 16:00:39 (+32,-5,-33)
    >>489
    typename 修飾子って本来ライブラリの管轄じゃないだろ・・・
    492 : デフォルトの名無 - 2008/07/17(木) 16:03:54 (+57,+29,-9)
    キャストの問題もライブラリの管轄とは思えんが・・・
    493 : デフォルトの名無 - 2008/07/17(木) 17:34:46 (-6,-29,-2)
    wchar_tの話だろ。
    494 : デフォルトの名無 - 2008/07/17(木) 17:39:14 (+70,+29,-23)
    >>484
    最初からエラーメッセージ張らない人だから、
    そもそもエラーメッセージを読まない人なんじゃないかとw
    495 : デフォルトの名無 - 2008/07/17(木) 17:59:12 (+61,+30,-102)
    むしろ、エラーメッセージしか見なかったんだろ。
    最初の質問で、エラーの内容は理解してると思われる。
    ただ、エラー以外をみなかった。ということだろう。

    いやね、俺もその傾向あるからわかるんだが
    コンパイラってだいたいロクなメッセージ伝えてこないから
    エラーそのものしか見る気しないのよ。そのエラーすら別の箇所による問題によって
    引き起こされてたりするので、そのまんま信じるわけじゃないし。
    1つエラー出ると、大量にどうでもいいメッセージが出るから、頭の中でフィルタかけないとエラーは解決できない。
    496 : デフォルトの名無 - 2008/07/17(木) 18:22:53 (+57,+29,-16)
    寧ろ、そんな発想だからフィルタが必要なんだろ。
    497 : 458 - 2008/07/18(金) 09:44:05 (+46,+11,-5)
    >>481
    そのファイルがコンパイルされた日時ならそれでいいけど・・・
    498 : デフォルトの名無 - 2008/07/18(金) 10:12:00 (+77,+29,-1)
    何が望みなんだかわかんねえ
    499 : デフォルトの名無 - 2008/07/18(金) 10:25:03 (+42,-29,-3)
    >>497
    Makefileで常にコンパイルするファイルをそれにしておけばいいんじゃね
    500 : デフォルトの名無 - 2008/07/18(金) 12:14:13 (+49,+15,+2)
    >>498
    消えろ
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / gcc スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - pragma + - spec + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について