のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,831人
昨日: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
    701 : デフォルトの名無 - 2011/03/20(日) 02:54:12.48 (+57,+29,-9)
    オーバーロードとか考えたけど、面倒なので再現するソースを見せてね
    702 : デフォルトの名無 - 2011/03/20(日) 03:39:23.25 (+14,-30,-47)
    #include <stdio.h>
    #include <sys/socket.h>
    #include <sys/types.h>
    #include <netinet/in.h>

    int main()
    {
        // コンパイルエラーを試すだけなので第一引数はテキトーな値で
        write(0, "Hello World!", 12);

        return 0;
    }

    $g++ test.cpp -o test
    $gcc test.c -o test
    703 : デフォルトの名無 - 2011/03/20(日) 05:28:45.77 (+40,-23,-3)
    >>702
    ヘッダからみてもこれは C のプログラム。
    704 : デフォルトの名無 - 2011/03/20(日) 06:26:23.02 (+63,+29,-4)
    >>703
    そこはC風にやろうがC++風にやろうが関係ないんじゃないですか?
    705 : デフォルトの名無 - 2011/03/20(日) 08:57:38.97 (+57,+29,-4)
    writeの使い方がおかしいのに、何言ってるんだか?
    706 : デフォルトの名無 - 2011/03/20(日) 09:28:54.59 (+57,+29,-41)
    エラーメッセージを読まない、あるいは質問時に提示しない人間の頭の悪さが理解出来ない。
    707 : デフォルトの名無 - 2011/03/20(日) 09:30:00.57 (-1,-30,-50)
    >>697
    (´・ω・)情報ありお
    ppl-legacy こけるのか・・・
    取りあえず parma(0.16.1) でも build(gcc-4.6-20110318) 出来るのは確認した
    708 : デフォルトの名無 - 2011/03/20(日) 09:52:44.11 (+57,+29,-34)
    エラーが出ますとだけ言ってエラーメッセージを書く知能がない奴にプログラミングは無理だろう
    709 : デフォルトの名無 - 2011/03/20(日) 09:57:27.86 (+57,+29,-5)
    書けて、エラーが出たら、コンパイラが悪いとか言い出すみたいだけど、最近は
    710 : デフォルトの名無 - 2011/03/20(日) 12:35:04.57 (-1,-29,-16)
    (´・ω・)う~ん、cloog-parma(0.16.1) 怪しいかも・・・
    しばらく?は isl にした方が良いのかなぁ
    ろしあの人もそうしてるみたいだし
    711 : デフォルトの名無 - 2011/03/20(日) 13:07:35.13 (-1,-29,-19)
    writeなんて低レベルあんまり使わんななぁ。
    ソケットでも send と recv だし。
    712 : デフォルトの名無 - 2011/03/20(日) 14:29:21.08 (+23,-30,-34)
    >702
    write()やclose()はunistd.hだったと思うんだ
    man 2 write
    man 2 close
    713 : デフォルトの名無 - 2011/03/21(月) 04:07:56.20 (+40,+9,+2)
    >>712
    ありがとうございます。コンパイル通りました。
    714 : デフォルトの名無 - 2011/03/22(火) 08:43:40.50 (-6,-29,-1)
    RC2が出たね。
    715 : デフォルトの名無 - 2011/03/26(土) 16:36:41.01 (-6,-29,-2)
    (´・ω・)そして、正式版に
    716 : デフォルトの名無 - 2011/03/28(月) 19:45:31.51 (+31,-29,-9)
    GCC 4.6リリース、Google Goの正式サポートなど多数の変更点を含む
    http://sourceforge.jp/magazine/11/03/28/0518233
    717 : デフォルトの名無 - 2011/03/29(火) 01:38:36.66 (+7,-29,-31)
    CentOS5.5でも4.1.2なんだよなぁ。
    なんでこんなに遅れるんだろう。
    718 : デフォルトの名無 - 2011/03/29(火) 04:52:17.64 (+29,-29,-10)
    >>717
    そりゃ .5だからだろう。 五回もマイナーリリースをしたバージョンだから基盤のバージョンは古い。 
    6.0で4.4になるよ。 
    719 : デフォルトの名無 - 2011/03/29(火) 14:08:53.30 (+55,+28,+1)
    >>718
    とんとん
    720 : デフォルトの名無 - 2011/03/29(火) 20:00:24.87 (+35,-27,+2)
    >>717
    gcc44 でもいれとけ
    721 : デフォルトの名無 - 2011/03/30(水) 01:07:46.05 (+66,+29,-5)
    >>720
    いや いれればそれでいんだけど。
    なんで古いままなのかなぁって。
    722 : デフォルトの名無 - 2011/03/30(水) 01:20:59.53 (+62,+29,-20)
    >>716
    最適化の強化がすげーな。今までとかなり違った結果が出そうだ。
    723 : デフォルトの名無 - 2011/03/30(水) 23:48:16.88 (+36,-29,-40)
    >>721
    > なんで
    保守が原則の鳥だから。
    遅れてるのではなくもともと新しいのは原則来ない。

    Fedora->RHEL->CentOS
    724 : デフォルトの名無 - 2011/03/31(木) 00:06:27.87 (+53,+20,-4)
    >>723
    枯れ を好むって事ね。
    確かに C/C++ コンパイルするのには
    全然困らないね。
    725 : デフォルトの名無 - 2011/03/31(木) 00:09:47.47 (+57,+29,-8)
    なんか、本質的な部分をわかってなさそう。
    わからなくても使えれば構わないんだろうけど。
    726 : デフォルトの名無 - 2011/03/31(木) 11:17:32.57 (+3,-30,-112)
    呼び出し規約について質問させてください。
    gcc 3.4.5、MinGWを使ってコンパイルしています。

    a.c/a.cpp
    int __cdecl test(int);
    int __stdcall test(int x) { return x };

    b.c/b.cpp
    int __stdcall test(int);
    int __cdecl test(int x) { return x };

    上記のようなプログラムを作ってコンパイルしたところ、
    a.c b.cでは予期通り
    error: conflicting types for 'test'
    というエラーが出てくれますが、a.cpp b.cpp はコンパイルが通ります。
    -Wallを入れても警告が出ず、mapファイルを見ると
    両方とも __stdcall になっているようです。これは何故でしょうか?
    また、これらで警告なりエラーなりを出させる方法はあるでしょうか?
    727 : デフォルトの名無 - 2011/03/31(木) 16:24:52.18 (+6,-28,+0)
    c++だと、同じ名前でもコンパイルすると違う名前になるからでしょ
    728 : デフォルトの名無 - 2011/03/31(木) 16:28:30.68 (+37,-30,-24)
    >>727
    int __cdecl test(int x) { return x; }
    int __stdcall test(int x) { return x * x; }
    こんな事が出来るってこと?
    試してないけど流石にコンパイルエラーじゃない?
    729 : デフォルトの名無 - 2011/03/31(木) 16:38:01.09 (+50,+27,+0)
    そこまでは知らん。
    730 : デフォルトの名無 - 2011/03/31(木) 16:39:40.69 (+1,-26,+2)
    extern C
    だっけをつけるんじゃあ
    731 : デフォルトの名無 - 2011/03/31(木) 17:41:01.21 (+9,-30,-102)
    Win特有の話だから、詳しいことは知らないが、
    config/**の#define TARGET_OS_CPP_BUILTINS()で
    builtin_defineされている。__attribute__に。
    gccとg++で挙動が違うってことはないはず。
    そもそもミスマッチな属性だし。
    732 : デフォルトの名無 - 2011/03/31(木) 17:48:50.19 (+63,+29,-10)
    >>728
    オーバーロードできるように引数のタイプを符号化して識別子に加えているとかなんとか
    733 : デフォルトの名無 - 2011/03/31(木) 17:50:38.91 (-1,-29,-14)
    その辺の呼び出し規定はWindows側に合わせるのでは?
    cdecl, stdcall属性が付くと。
    734 : デフォルトの名無 - 2011/03/31(木) 17:59:22.09 (+4,-30,-45)
    >>731
    linuxでも__attribte__((fastcall))とか使うだろ。
    もっともattributeは関数の宣言部でしか使えず、
    定義部で付与してもエラーになるはずだから726のような状況にはならないけど
    735 : デフォルトの名無 - 2011/03/31(木) 18:54:10.86 (-5,-23,+0)
    名前マングル
    736 : デフォルトの名無 - 2011/04/01(金) 10:15:09.43 (+12,-15,+0)
    確かに両方共stdcallになっちゃってるよこれ
    737 : デフォルトの名無 - 2011/04/01(金) 10:19:56.38 (+57,+29,-4)
    名前装飾とアセンブリ出力合ってねえ
    ダメだこれ
    738 : デフォルトの名無 - 2011/04/04(月) 12:47:13.97 (-2,-30,-50)
    Linuxで/proc/statのcpuの各値を取得する関数はありませんか?
    /proc/statを文字列として読み込んで処理するしかないのでしょうか?
    739 : デフォルトの名無 - 2011/04/04(月) 19:57:51.48 (+25,+2,-18)
    文字列解析が出来ないのかいな?
    740 : デフォルトの名無 - 2011/04/04(月) 22:27:41.03 (+9,-29,-22)
    こういうのってマルチコアの排他ってどうしてるんだろうな。
    /proc/stat読んでる間に書き換わったりしないのか?
    741 : デフォルトの名無 - 2011/04/04(月) 22:55:08.62 (-1,-29,-1)
    syscall としては atomic に読んでる
    742 : デフォルトの名無 - 2011/04/04(月) 22:56:42.07 (+53,+18,+0)
    ということは1バイトずつreadすると悲惨なことになるのか
    743 : デフォルトの名無 - 2011/04/04(月) 23:08:55.72 (+51,+23,-20)
    ファイルポインタ新規作成して入れ替えてたら問題ないけど、実装みないと分からない
    744 : デフォルトの名無 - 2011/04/04(月) 23:10:38.36 (+10,-29,-59)
    >>742
    ユーザーランド側がどう処理してるかまではみてないけど,
    kernel側はおおむねcopy_to_user()でbufferサイズ分一気にわたしてる
    つか, デバドラ関係はドライバー依存だと思うが...
    やたらサイズがでかくない限りは一気に呼んだ方が安全だと思うよ
    745 : デフォルトの名無 - 2011/04/09(土) 00:29:33.45 (+46,-14,-27)
    >>740
    もう一回読んで diff 取ってるんじゃね?w
    746 : デフォルトの名無 - 2011/04/10(日) 08:41:23.03 (+3,-27,-14)
    >>745
    diff とってる間に (略
    747 : デフォルトの名無 - 2011/04/10(日) 13:51:06.92 (-1,-29,-6)
    まぁ、/proc/stat なんていい加減な値しか出ないからなw
    748 : デフォルトの名無 - 2011/04/14(木) 20:52:24.21 (+48,+19,+1)
    >>745
    正解
    749 : デフォルトの名無 - 2011/04/14(木) 21:37:40.86 (+52,+29,-1)
    収束するまで繰り返さないと
    750 : デフォルトの名無 - 2011/04/15(金) 16:11:14.36 (+8,-29,-18)
    MinGWは、追加includeパスの設定はどうやればできますか。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / gcc スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - std:map + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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