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

    元スレGCCについて part8

    gcc覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - pragma + - spec + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    451 = :

    -mno-sse2 なんてオプションはなかったよなw

    453 = :

    gccのことは知らないが、
    windowsだとlong modeでFDP/MMX系のレジスタは一切使わない。
    スタックフレームもレジスタ優先でほとんど使わないし、
    そのとき実数データの受け渡しにXMMレジスタ使ってる。
    XMM使うなというのが無理な話状態なのです。

    454 = :

    すみません、gdbの質問をしたいのですがここでもいいですか?

    gdbの中でグローバル変数の一覧を取得(表示)する方法はありますかね?
    ローカル変数に関してはinfo localsがありますが。

    457 = :

    >>455
    えっとグローバルなbssとdataのシンボルを見ろということですかね?
    やってみたんですが、自分がいじってるプログラムではどうもconstな変数が
    textにいるように見えるんですが... ldの挙動をコントロールしているようで。
    デバッグのときだけ「普通」にリンクするというのはありかもしれませんが...

    >>456
    やってみるとなんかエントリーが重複して見えるんですが、そんなもんですかね。
    ちなみにinfo localsと違って値を表示してくれたりはしないんですね。

    458 = :

    コンパイルをした日時を埋め込む・取り出す方法ってありますか?

    今はmake時に引数で`date`なんかを渡す方法を使ってるけど
    そのdefineを使うソースがコンパイルの対象になっていない限り
    反映されないので、いまいち使い勝手がわるいんです

    459 = :

    シェルで、日時を何かのファイルに書き込んで、
    それからコンパイル。

    460 = :

    そのソースを毎回必ずコンパイルするようmakefileを書けばいいのだと思うんだけど

    461 = :

    >>460
    その方向でやってみます
    となると、次はMakefileスレだな

    464 = :

    GNUmakeなら.PHONYとか

    465 = :

    ファイルの一番後ろに日付書いといたらいいんじゃないの

    466 = :

    やっぱ>>460の方法はやめました

    コンパイルする必要がないときでもmake叩くと必ずコンパイルされてしまう
    というのは俺の精神衛生上よくないことがわかりました

    467 = :

    コンパイルした実行ファイルの日付をチェックすればええんちゃう?

    468 = :

    埋め込むんじゃなく、コンパイルするたびに
    バイナリのMD5ハッシュと時刻をログファイルに記録すればいいんじゃね。

    469 = :

    質問です。
    インストールしたての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 = :

    >>468
    それも考えたのですが、なんか面倒なので
    リンカに頑張ってもらう方法を調べることにします

    471 = :

    >>466
    それはmakefileの書き方でいくらでも回避できるんじゃね?
    最後のlinkする所のtargetの中で依存関係無しにちょろっとccしてしまえばいいんじゃ

    474 = :

    いずれにしろ -D で渡すのも気に入らないとか、
    コンパイラのほうで実現するのは気持ち悪いとか言ってるから、
    スクリプトとか他のもので好きなように実現するのがいいんじゃないのか?

    477 = :

    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)
    を使用しています。

    よろしくお願いします。

    479 = :

    >>477
    エラー張ってくれよ。

    480 = :

    あとcの型な。

    481 = :

    >>458
    __DATE__ __TIME__でいける。


    const char aaa[] = __DATE__ __TIME__;

    482 = :

    >>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 = :

    自己解決しました。
    そのエラーメッセージの後に
    note: say `typename add_unsigned<T>::type' if a type is meant
    と出ており、そのとおりやったら解決しました。
    盲点でした。

    どうもありがとうございました。

    484 = :

    どの辺が盲点なのかと。
    英語で書いてあるところか?

    485 = :

    つーかそれ、VC++でもエラーにならね?
    VC++6.0組?

    486 = :

    >>485
    6.0、2003、2005、2008で試したけど問題にならんよ。
    VC++はなぁなぁだからなぁ・・・。
    IEとかと同じで、その辺がMSの製品って好まれるんだろうね。
    いいとは思わんけど、ちゃんと規格にそってる方が敬遠される状態は勘弁してもらいたい。

    487 = :

    いや、この場合はGCCの規格が悪いと思う。
    普通に考えればtypenameをキャスト時にするのはおかしいもの。

    次に>>477が詰まるのは、wchar_tかなw
    wchar_tを取りうるって言ってるし。
    GCCのwchar_tは欠陥品な上、
    文字コードの統一の問題が・・・w

    488 = :

    >>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 = :

    典型的な、コンパイラとライブラリの区別がつかないひと

    490 = :

    いや、GCCの仕様は馬鹿だろ
    あれほど必要の無い理解しがたい仕様をつめるのは
    頭の悪い俺には理解できんよ(笑)

    491 = :

    >>489
    typename 修飾子って本来ライブラリの管轄じゃないだろ・・・

    492 = :

    キャストの問題もライブラリの管轄とは思えんが・・・

    494 = :

    >>484
    最初からエラーメッセージ張らない人だから、
    そもそもエラーメッセージを読まない人なんじゃないかとw

    495 = :

    むしろ、エラーメッセージしか見なかったんだろ。
    最初の質問で、エラーの内容は理解してると思われる。
    ただ、エラー以外をみなかった。ということだろう。

    いやね、俺もその傾向あるからわかるんだが
    コンパイラってだいたいロクなメッセージ伝えてこないから
    エラーそのものしか見る気しないのよ。そのエラーすら別の箇所による問題によって
    引き起こされてたりするので、そのまんま信じるわけじゃないし。
    1つエラー出ると、大量にどうでもいいメッセージが出るから、頭の中でフィルタかけないとエラーは解決できない。

    496 = :

    寧ろ、そんな発想だからフィルタが必要なんだろ。

    497 = :

    >>481
    そのファイルがコンパイルされた日時ならそれでいいけど・・・

    498 = :

    何が望みなんだかわかんねえ

    499 = :

    >>497
    Makefileで常にコンパイルするファイルをそれにしておけばいいんじゃね

    500 = :

    >>498
    消えろ


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / gcc一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - pragma + - spec + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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