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

    私的良スレ書庫

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

    元スレGCCについて part9

    gcc スレッド一覧へ / gcc とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - std:map + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    101 : デフォルトの名無 - 2009/09/12(土) 09:14:46 (-6,-29,+0)
    GCC クロスコンパイル でぐぐれ
    102 : デフォルトの名無 - 2009/09/12(土) 20:19:01 (+62,+29,-59)
    使ってるレンタル鯖が C/C++ で書いた CGI を使えるって書いてあるんだけど、
    シェルは解放してないからクロスコンパイル環境を作って対応したことはある。
    (鯖は無料だからその程度の手間は仕方ないんだが。)
    最近の GCC ならそんなに難しいことではない。
    でも、ライブラリ類はコンパイル済みのをどこかからもってきた方がいいぞ。
    103 : デフォルトの名無 - 2009/09/12(土) 23:55:37 (+8,-29,-40)
    g++ には VC のプリコンパイル済ヘッダみたいな機能はないんですかいの?
    boost 使ったソースをコンパイルしようとしたら遅すぎてやっとれんです。
    104 : デフォルトの名無 - 2009/09/13(日) 00:24:16 (-5,-28,+0)
    gccにもpchぐらいあるわい
    105 : デフォルトの名無 - 2009/09/13(日) 00:25:09 (+54,+26,-20)
    あ、ごめん、boostは知らんです…
    ccacheで我慢するくらいしか思いつきません
    106 : 103 - 2009/09/13(日) 00:38:06 (+57,+29,-4)
    おお、あるのね。どもっす。
    とりあえずあとはぐぐってみます。
    107 : デフォルトの名無 - 2009/09/26(土) 23:08:03 (+3,-30,-25)
    すみません質問なのですが,最近vc++からgccに乗り換えたのですが
    vc++にある
    wmain( int argc, wchar_t *argv[ ])
    みたいに引数をwchar_tにすることはできるでしょうか?
    108 : デフォルトの名無 - 2009/09/26(土) 23:13:13 (-2,-30,-37)
    エントリポイントwmainは非標準なので、gccにはない
    main関数内でargvをワイド文字列の配列に変換してwmainに渡すという手が有る
    109 : デフォルトの名無 - 2009/09/26(土) 23:15:14 (+50,+22,+2)
    ありがとうございます,それでやってみます.
    110 : デフォルトの名無 - 2009/10/01(木) 18:52:06 (+56,-29,-38)
    質問です。
    コンパイルオプションとして-Werrorをつけたいのですが、
    実装上どうしても、取り除くことができない警告があります。
    この警告だけはWerrorの対象からはずすということができますでしょうか?
    もしできるならその方法を教えてください。
    111 : デフォルトの名無 - 2009/10/01(木) 19:29:47 (+0,-28,-1)
    gccのソースをいじる
    112 : デフォルトの名無 - 2009/10/01(木) 20:24:23 (+62,+29,-1)
    >>110
    外したい警告がどういう警告なのか書けよ。
    113 : デフォルトの名無 - 2009/10/01(木) 22:47:25 (-1,-29,-13)
    -Whogeで有功になる警告なら-Wno-hogeで無効に出来るだろうし、
    http://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html
    なんてのもある
    114 : 110 - 2009/10/01(木) 23:00:07 (+3,-29,-60)
    >>111-113
    返答ありがとうございます。
    Werrorの非対象にしたいのは-Wをつけた際に出力される、longjmp関連の警告です。
    -Wは複数の機能を持つオプションなので、-W自体を無効化はできない状況です。
    115 : デフォルトの名無 - 2009/10/01(木) 23:21:56 (+36,-30,-93)
    http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
    にある通り、-Wは-Wextraの別名で、含まれる警告オプションのうち
    longjmpが関連しそうなのは-Wclobberedと-Wuninitializedだから、
    -Wno-clobbered -Wno-uninitializedをつけてみたらどうか
    116 : デフォルトの名無 - 2009/10/01(木) 23:23:49 (-1,-29,-21)
    -Wno-error=uninitializedとかでも良いかもな
    117 : 110 - 2009/10/01(木) 23:34:35 (+62,+29,-15)
    >>115-116
    ありがとうございます!
    今は試せる環境がないので明日挑戦してみます。
    118 : デフォルトの名無 - 2009/10/12(月) 00:59:23 (+16,-30,-48)
    -fltoが入る前に-combine試してみたけど、
    4.4だと引数が多すぎって言われてコンパイル出来ない事があるな
    4.5になると引数の最大値が大きくなったりするんだろうか…
    というかしてくれないと困る。
    -combine -fwhole-program -ftoでビルドしたいんじゃー
    119 : デフォルトの名無 - 2009/10/16(金) 05:13:28 (-11,-29,+0)
    4.4.2
    120 : デフォルトの名無 - 2009/10/16(金) 09:29:17 (+22,-11,-6)
    >>118
    > 4.4だと引数が多すぎって言われてコンパイル出来ない事があるな

    これってどういうメッセージ?
    121 : デフォルトの名無 - 2009/10/16(金) 11:16:12 (-2,-30,-22)
    あーもうconstructors_destructor_fn_imps.hpで一晩潰しちゃったよ><あほか
    122 : デフォルトの名無 - 2009/10/16(金) 22:28:44 (+1,-30,-13)
    >>120
    cc1: error: too many filenames given. Type cc1 --help for usage
    123 : デフォルトの名無 - 2009/10/17(土) 04:15:11 (-6,-29,-11)
    binutils 2.20
    124 : デフォルトの名無 - 2009/10/18(日) 17:31:01 (+54,-30,-220)
    HelloWorldを、gcc・g++を使用してWinXP・Ubuntuでコンパイルしてみた。
    ----------------------------
    #include <stdio.h>

    int main(int argc, char** argv) {
    printf("HelloWorld!");
    return (0);
    }
    -----------------------------
    WinXPは正常に実行できたけど、Ubuntuのgccがうまくいかない。

    /tmp/ccaeafnN.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
    collect2: ld はステータス 1 で終了しました

    バージョンは4.3.3。
    上記のようにリンクでエラーがでる。
    コンパイラはもともと入ってたやつだから、導入に失敗したわけではなさそうだけど。
    オプションも出力先以外は指定してないし。
    原因が分かるエスパーな方はいませんか?
    125 : デフォルトの名無 - 2009/10/18(日) 17:40:09 (-2,-30,-18)
    #include <stdio.h>



    #include <cstdio>



    printf



    std::printf

    に替えてみたらどうなる?
    126 : デフォルトの名無 - 2009/10/18(日) 17:46:22 (+35,-29,-33)
    >>124
    g++標準のライブラリがリンクされてないように見える。
    g++ hello.cc ではなく gcc hello.cc でコンパイルしてない?


    127 : デフォルトの名無 - 2009/10/18(日) 18:06:18 (+69,+29,-54)
    この手の「普通にやったらエラーが出るはずが無い」のに
    gccを使っていてリンクエラーが出る場合、大抵は>>126だよな。

    普通にg++とするか、あるいは-lstdc++とかでもなんとかなるもんだけど
    意外にそこでひっかかる人も多いよね。

    まあ>>124の原因は知らないけど。
    128 : 124 - 2009/10/18(日) 18:44:08 (+13,-29,-28)
    拡張子を.cにしたらいけました。
    ありがとう。

    それにしてもアホすぎる……。
    TDM/Mingwだと「gcc hello.cpp」は通るけど「g++ hello.cpp」がリンクエラー。
    (^o^)/
    129 : デフォルトの名無 - 2009/10/18(日) 19:27:04 (-6,-29,-17)
    -lstdc++
    か?
    130 : デフォルトの名無 - 2009/10/18(日) 19:32:55 (+2,-29,-66)
    gccの#defineマクロの記述で
    通常の関数のreturnに相当する記述ってどうやって書けばいいのでしょうか?


    131 : デフォルトの名無 - 2009/10/18(日) 19:34:07 (+90,+29,-31)
    それがわからないようならマクロなぞ使うな。あぶなっかしすぎる。
    132 : デフォルトの名無 - 2009/10/18(日) 19:44:13 (+68,+29,-5)
    >>131
    まさか知らないのですか?
    バカなんですか?
    133 : デフォルトの名無 - 2009/10/18(日) 19:56:48 (-2,-25,-10)
    gccの話題じゃないな
    134 : デフォルトの名無 - 2009/10/18(日) 20:16:45 (-1,-30,-34)
    >130
    http://cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/gccextend.html
    ここでも読んだらいいよ
    もっとも僕は、-pedantic-errorsを付けてコンパイルしているから無縁だけど
    135 : デフォルトの名無 - 2009/10/19(月) 02:34:19 (+12,-17,-2)
    >>128
    要するに、GCCでは拡張子で動作が変わるってことか。
    136 : デフォルトの名無 - 2009/10/19(月) 06:36:28 (-2,-30,-16)
    C Compilerでなくて Compiler Collectionだからね。
    拡張子を識別して使う言語を選択する。
    137 : デフォルトの名無 - 2009/10/19(月) 08:03:15 (+57,+29,-38)
    拡張子で言語は選んでくれるのにライブラリは選んでくれないという気
    の利かなさ。

    138 : デフォルトの名無 - 2009/10/19(月) 08:12:59 (-1,-29,-19)
    extern "C" {
    とかあるしね。言語と実行環境を分けているんだと思う。
    139 : デフォルトの名無 - 2009/10/22(木) 22:46:09 (+61,+28,-47)
    だってオブジェクトはどちらも.oで、そこからリンクする時に
    必要に成るライブラリがどちらかなんて ld には分からない。

    増改築を繰り返した田舎の温泉旅館みたいなc++は捨てて、
    ISO C(c99)でええやん。
    140 : デフォルトの名無 - 2009/10/22(木) 22:49:08 (+57,+29,-1)
    c99のほうが田舎の温泉旅館みたいなんだが……
    141 : デフォルトの名無 - 2009/10/23(金) 18:22:28 (+20,-2,-1)
    C99って使ってる現場あるのか。
    142 : デフォルトの名無 - 2009/10/23(金) 21:12:36 (+57,+29,-30)
    全機能ばりばり使ってます、という所は少ないと思うが、
    //コメントとか、変数定義の混在とかは割と使ってるんじゃないか?
    143 : デフォルトの名無 - 2009/10/23(金) 21:37:37 (+57,+29,-48)
    変数は最初に必要になった箇所で宣言するようにしたらかなり見易い。
    変数はなるべく使い棄てにしたほうがコンパイラもフロー解析しやすいらしいし。
    144 : デフォルトの名無 - 2009/10/23(金) 22:44:44 (+0,-29,-6)
    数値計算のパッケージ書いてるから、
    <fenv.h>がないとどうしようもない。
    145 : デフォルトの名無 - 2009/10/24(土) 01:03:11 (+57,+29,-64)
    使い捨てと言うか、スコープを狭くすると、フロー解析もやり易いし
    レジスタ割り付けも楽。最適化もやりやすく成る。
    146 : デフォルトの名無 - 2009/10/24(土) 11:44:01 (+57,+29,-5)
    俺の周りではC99という言葉すら通じん…
    147 : デフォルトの名無 - 2009/10/24(土) 11:54:24 (-7,-29,+0)
    >>144
    Fortran使えよ
    148 : デフォルトの名無 - 2009/10/25(日) 00:51:59 (+87,+29,-24)
    レジスタは一括宣言のほうが楽なんじゃね?
    だってベースポインタ一緒なんだぜ?
    149 : デフォルトの名無 - 2009/10/25(日) 02:41:36 (+124,+29,-13)
    Javaじゃねーんだから汎用レジスタに乗せて使い捨てることもあるだろ
    150 : デフォルトの名無 - 2009/10/25(日) 02:50:57 (+57,+29,-6)
    いかにメモリアクセスを少なくするかが鍵みたいだよ。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / gcc スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - std:map + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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