元スレGCCについて part8
gcc覧 / PC版 /みんなの評価 : ☆
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
消えろ
みんなの評価 : ☆
類似してるかもしれないスレッド
- GCCについて part9 (1001) - [95%] - 2011/9/2 21:17 ○
- GCCについて part10 (538) - [90%] - 2018/7/5 20:30
- Cygwin + MinGW + GCC 相談室 Part 8 (938) - [18446744073709551610%] - 2022/10/28 8:00
トップメニューへ / →のくす牧場書庫について