のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,828人
昨日: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
    151 : デフォルトの名無 - 2007/12/20(木) 15:00:05 (-1,-29,-56)
    スレ違いだったらすみません。

    GCCでコンパイル時と別のコンパイラでコンパイル時とを
    #ifで分けたいのですが、GCCでコンパイル時必ずdefineされる
    マクロってありますか?
    152 : デフォルトの名無 - 2007/12/20(木) 15:09:19 (+22,-29,-14)
    __GNU__?
    153 : デフォルトの名無 - 2007/12/20(木) 15:19:01 (+32,-30,-60)
    __GNUC__
    __GNUC_MINOR__
    __GNUC_PATCHLEVEL__
    154 : デフォルトの名無 - 2007/12/20(木) 15:21:44 (+29,-30,-50)
    #if defined( __GNUC__ )
    #if ( __GNUC__ >= 4 )

    かな
    155 : デフォルトの名無 - 2007/12/20(木) 22:11:00 (+53,+21,+2)
    >>152
    >>153
    >>154

    ありがとうございました。助かりました。
    156 : デフォルトの名無 - 2007/12/23(日) 01:06:10 (+2,-29,-28)
    IntelのCコンパイラだとデフォルトでは>>153をdefineしている(オプションで変更可)
    特殊かもしれんが
    157 : デフォルトの名無 - 2007/12/23(日) 04:28:24 (+19,-30,-71)
    RHLE version3 のサポートが終了してしまうので、
    gcc 2.9.6
    gcc 3.2.3
    から、
    RELE version5のgcc 4..xに変更したんだけど、コードの修正メンドくせー、
    互換性無いのって悲しいね。

    158 : デフォルトの名無 - 2007/12/23(日) 09:31:31 (+55,+27,-20)
    ×互換性が無い
    ○コードが汚い

    ザルだった文法チェックに救われていただけ
    159 : デフォルトの名無 - 2007/12/23(日) 10:01:11 (+57,+29,-16)
    普通に書いていれば修正なんてほとんど要らんだろ
    160 : デフォルトの名無 - 2007/12/23(日) 10:36:37 (+41,-29,-31)
    >>157じゃないが、
    Cだとgccの移行は簡単だけど、C++だと悲惨。
    2->4なんて。

    コンパイルエラー/ウォーニングになるのはいいけど、
    コンパイラが検出できない奴など。
    例えばlookupのルール変更とか。
    ADLは便利だけど、難しいから。
    161 : デフォルトの名無 - 2007/12/23(日) 17:53:45 (+61,+29,-42)
    >>160
    馬鹿コーディングだから移行が難しいんだよ。
    俺も新人だった頃の自分のコードを呪ったよ。
    きちんとしたコードはすぐ移行できた。
    162 : 157 - 2007/12/23(日) 23:53:40 (-1,-29,-23)
    確かにコードが汚いことが原因で

    トークンの連結
    (int -> bool)
    プロトタイプ宣言

    関係が9割超
    163 : デフォルトの名無 - 2007/12/30(日) 00:12:03 (-2,-30,-19)
    precompiled headerって全然流行らないね。信用できるのこの機能
    164 : デフォルトの名無 - 2007/12/30(日) 00:37:49 (+52,+29,-2)
    意外と使われてるのに…
    165 : デフォルトの名無 - 2008/01/07(月) 09:31:10 (+64,+29,-25)
    http://gcc.gnu.org/ml/gcc/2008-01/msg00023.html
    バグ潰し終わらねー感じ

    使ってみてもICEとかc++のスコープとか色々おかしい印象がある
    開発者がんばってくれー
    166 : デフォルトの名無 - 2008/01/08(火) 02:18:54 (+11,-25,-45)
    >>165
    mudflapというオプションを初めて知った。 ひで~ネーミングだな。
    167 : デフォルトの名無 - 2008/01/15(火) 18:42:33 (+57,+29,-22)
    速度云々を無視しよう
    という条件下だと、fPICって常に付与してていいもんなのか?
    168 : デフォルトの名無 - 2008/01/15(火) 23:54:54 (+7,-30,-232)
    gcc(3.4)でSJISファイルのコンパイルでうまくいかないので、ご教授いただけたらと思います。

    > cat a.c
    #include "stdio.h"
    #define AAA(a) BBB(#a)

    void BBB(char *str) {
    printf("%s\n", str);
    }

    int main() {
    AAA(あ"い");
    BBB("あ\"い\"");
    }

    > gcc --input-charset=cp932 --exec-charset=cp932 a.c
    > a.out
    あ"磚
    あ"い"

    AAAの方とBBBの方で両方同じ結果が得られそうなのですが、
    AAAの方でうまくいっていないのを解決したいと思っています。

    ここでは標準出力していますが、内部文字コードはSJISのまま解決したいと思っています。
    よろしくお願いいたします。
    169 : デフォルトの名無 - 2008/01/16(水) 08:04:12 (+18,-30,+0)
    CスレでGCCの範囲だから、すれ違いと言われてここに来ました。
    http://homepage2.nifty.com/m_kamada/fractalp.htm#mandelbmp_c
    のサイトにある、complex.hを読んでいるんですが、
    gccでマクロを展開してここのソースを読むと、
    /* setjmp(cjmpenv)の返却値 */
    #define C_DIVIDE_BY_ZERO 1 /* 0で除算しようとした */
    #define C_ARG_ZERO 2 /* 0の角度を求めようとした */

    #endif
    #if __GNUC__==2
    #define complex __complex__
    #define Re(z) (__real__ (z))
    #define Im(z) (__imag__ (z))
    #else
    typedef struct {
    double re;
    double im;
    } complex;

    などごっそり書いてあった部分が、
    /* setjmp(cjmpenv)の返却値 */
    # 24 "complex.h"
    typedef struct {
    double re;
    double im;
    } complex;
    # 77 "complex.h"
    /* xの実数部にsを加える */
    # 89 "complex.h"
    /* xの虚数部にsを加える */
    と、# 24 "complex.h"や# 77 "complex.h"などに置き換えられているようです。
    この#24や#77はどういう意味なのでしょうか?
    170 : デフォルトの名無 - 2008/01/16(水) 08:25:47 (-1,-29,-3)
    >>168

    3.4では化けるね
    4.2.2だと化けなかった
    171 : デフォルトの名無 - 2008/01/16(水) 08:26:18 (+19,-30,-176)
    それと、
    「複素数値を持つ式 exp から実数部を抽出するには、
    __real__ exp と書きます。同様に、虚数部を抽出するには __imag__ を使います。これはGCCの拡張である。」
    とあり、printf("b=%d + %d I¥n", __real__ exp, __imag__ exp); で複素数表示出るのですが、
    コレは__real__ という関数名なのでしょうか?
    でも関数だと( )が必要だし....
    そもそも__みたいな変な名前のマクロをどういう意図で作ったのでしょうか?
    complex.hを見ても良くわかりませんでした。
    __のような物がつくプログラムを見たのが初めてで、非常に理解に苦しんでいます。
    172 : デフォルトの名無 - 2008/01/16(水) 11:22:26 (+59,-11,-61)
    >>169
    マクロ展開前の行番号。コンパイル時にエラー行を表示するためにそう
    いう情報を残す必要がある。

    >>171
    sizeof と同じような形式の演算子だと思えばいいんじゃない?
    __は単に名前の一部。

    173 : デフォルトの名無 - 2008/01/16(水) 12:18:35 (+9,-18,+0)
    普通の名前と喧嘩しないように __ を付けるのは慣例
    174 : デフォルトの名無 - 2008/01/16(水) 12:25:52 (+49,+26,+0)
    慣例じゃなくて予約されているんだが
    175 : デフォルトの名無 - 2008/01/16(水) 12:42:41 (+69,+28,-62)
    >>172,173,174
    お返事有り難うございます。
    >普通の名前と喧嘩しないように __ を付けるのは慣例
    >慣例じゃなくて予約されているんだが
    確かに__って普通の変数には付けないですからね。
    どうも有り難うございました。
    176 : デフォルトの名無 - 2008/01/16(水) 13:09:02 (+32,+9,+1)
    あ失礼,そうだった.<慣例
    177 : デフォルトの名無 - 2008/01/16(水) 13:10:14 (-1,-29,-1)
    書き方おかしかった.<慣例,じゃなくて<予約
    スレ汚しすまん
    178 : デフォルトの名無 - 2008/01/17(木) 01:56:01 (+8,-29,-65)
    gdb+gccなんですがクロスコンパイルしてます。
    Aでコンパイル
    Bで実行。

    Bで、はいたコアダンプを冢ってgdbを使いたい場合は
    Aでmakefile(自動生成)使ってまっす。

    どうしたら、ディレクトリ構造とか再現してソース追っかけながらデバッグできますか?
    makefileに答え有りますか?
    179 : デフォルトの名無 - 2008/01/17(木) 02:03:30 (+57,+29,-50)
    Bで、はいたコアダンプを冢ってgdbを使いたい場合はどうしたら良いですか?

    文が変だた
    180 : デフォルトの名無 - 2008/01/17(木) 02:04:18 (+60,-27,-6)
    >>178
    Bでgdbserver走らせるのが一番楽じゃない?
    181 : デフォルトの名無 - 2008/01/17(木) 02:08:28 (+72,+29,-2)
    >>180
    おとなの事情というか会社の事情で無理なんです
    182 : 181 - 2008/01/17(木) 02:30:08 (-1,-29,-29)
    少し確認ですが
    Aにもgdbserverがデーモンのように動く必要ありますか?
    Bにも同じgdbserverが必要ですよね?

    Aで負荷高くなりそうですね
    183 : デフォルトの名無 - 2008/01/17(木) 03:33:23 (+49,+13,-3)
    >>180
    あ、ごめん、コアの話しか。 そういう機能はgdbserverにはないね。
    184 : デフォルトの名無 - 2008/01/17(木) 16:43:02 (+42,-29,-42)
    だめだ。
    __real__って何なんだ?
    関数ではないしcomplex.hにも定義されていない。
    gcc機能拡張ってのがよくまずわからない。
    特殊な演算子なんですか?

    185 : デフォルトの名無 - 2008/01/17(木) 16:50:58 (+61,+29,-17)
    >>184
    わからないなら自前の構造体定義すれば?
    186 : デフォルトの名無 - 2008/01/17(木) 17:06:00 (+8,-30,-68)
    >>184
    何をわかる必要があるというんだろう。sizeof だってどこかのヘッダで
    定義してあるわけじゃないけど使えるでしょ?

    infoの説明はこれだけしかないけど、これで十分つかえるじゃないか。
    > To extract the real part of a complex-valued expression EXP, write
    > `__real__ EXP'. Likewise, use `__imag__' to extract the imaginary
    > part.
    187 : デフォルトの名無 - 2008/01/17(木) 17:06:53 (+3,-30,-17)
    188 : デフォルトの名無 - 2008/01/23(水) 22:06:35 (-1,-29,-2)
    http://gcc.gnu.org/ml/gcc/2008-01/msg00387.html
    GCC 4.3 もリリースモードへ突入
    189 : デフォルトの名無 - 2008/01/26(土) 10:38:15 (-1,-29,-4)
    みんなGDBを使ってデバッグしてるの?
    それともprintf?
    190 : デフォルトの名無 - 2008/01/26(土) 12:07:11 (+0,-28,-2)
    うかつに手を出せないところはInsight使ってるけど
    printfの方が早いな
    191 : デフォルトの名無 - 2008/01/26(土) 15:55:53 (+56,+28,-14)
    printfで場所を大まかに限定してソースとにらめっこ
    ドコでも使えて簡単だから…
    192 : デフォルトの名無 - 2008/01/26(土) 16:15:01 (-3,-26,+1)
    んで core 吐いたら gdb
    193 : デフォルトの名無 - 2008/01/26(土) 18:11:31 (-2,-30,-55)
    printfってプログラム埋め込み?
    debuggerのbreakpointsでprintfするんじゃなくて?
    埋め込みなんてここ5年くらいやったことないわ。
    194 : デフォルトの名無 - 2008/01/26(土) 19:12:44 (+57,+29,-3)
    デバッグトレースした方が便利な事もあるぜ。
    195 : デフォルトの名無 - 2008/01/27(日) 01:52:18 (+52,+29,+0)
    デバッグトレースって何さ
    196 : デフォルトの名無 - 2008/01/27(日) 02:09:06 (-4,-27,-2)
    デバッグ時のみ文字列出力。
    197 : デフォルトの名無 - 2008/01/27(日) 02:13:55 (+35,+17,-1)
    社内用語乙。
    198 : デフォルトの名無 - 2008/01/27(日) 02:22:41 (-1,-29,-18)
    デバッグトレース の検索結果 約 3,320 件
    199 : デフォルトの名無 - 2008/01/27(日) 13:40:49 (+52,+29,-5)
    でもまー、ふつー「バックトレース」
    200 : デフォルトの名無 - 2008/01/27(日) 13:43:31 (+57,+29,-21)
    違った。

    つか「デバッグトレース」って、デバッグ目的のトレース実行とか、
    呼び出し順の出力のことじゃね?
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / gcc スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - pragma + - spec + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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