のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,832人
昨日: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
    651 : デフォルトの名無 - 2011/03/07(月) 03:38:17.16 (-1,-29,-17)
    \nもう一ついるんかな?

    端末(tty)のバッファリングだっけ?
    stty raw で、無効になったと思う
    http://archive.linux.or.jp/JM/html/GNU_sh-utils/man1/stty.1.html
    652 : デフォルトの名無 - 2011/03/07(月) 03:41:38.99 (-6,-29,-12)
    653 : デフォルトの名無 - 2011/03/07(月) 03:51:56.67 (-1,-29,-9)
    http://archive.linux.or.jp/JM/html/LDP_man-pages/man3/termios.3.html
    termios.hに、cから直接端末設定する関数もあるけど、めんどくさい。
    654 : デフォルトの名無 - 2011/03/07(月) 04:22:30.15 (+3,-30,-49)
    >>650
    2.6.18-194.32.1.el5 x86_64
    g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48)
    出力なし

    #include <iostream>

    int main()
    {
    printf("Hello World!\n\n");

    return 0;
    }

    g++ test.cpp -o test
    655 : デフォルトの名無 - 2011/03/07(月) 04:27:37.68 (-1,-29,-30)
    わかった
    testにしているのが悪いんだよ
    testはコマンドとして存在している
    $ which test
    656 : デフォルトの名無 - 2011/03/07(月) 04:32:59.83 (-1,-29,-4)
    というかカレントディレクトリに存在するコマンド実行するときは ./test とかした方がよい
    657 : デフォルトの名無 - 2011/03/07(月) 05:32:06.74 (-1,-29,-10)
    というか(Linuxなら)カレントディレクトリにしか存在しないコマンドは./を付けないと動かないんじゃ
    658 : デフォルトの名無 - 2011/03/07(月) 05:53:17.85 (+51,+28,+0)
    そんなことはない
    659 : デフォルトの名無 - 2011/03/07(月) 08:04:58.49 (+59,+27,-23)
    PATH に . を含めればできるが、やってはいけない。
    たとえばダウンロードしたアーカイブを展開した中のディレクトリで、意図しないコマンドを
    実行させられるかもしれない。
    660 : デフォルトの名無 - 2011/03/07(月) 13:27:00.65 (-2,-30,-54)
    test.cpp: In function ‘int main()’:
    test.cpp:5: error: ‘printf’ was not declared in this scope
    661 : デフォルトの名無 - 2011/03/07(月) 13:37:29.95 (+46,+28,+0)
    でっていう
    662 : デフォルトの名無 - 2011/03/07(月) 20:13:24.29 (+6,-29,-2)
    >>659
    だよなぁ。
    msys 環境だとデフォルトで PATH の先頭にカレントディレクトリが付いててブチ切れそうになったわ
    663 : デフォルトの名無 - 2011/03/07(月) 21:05:58.26 (-1,-29,-1)
    /usr/local/bin/a.out
    664 : デフォルトの名無 - 2011/03/07(月) 22:18:16.19 (+57,+29,-7)
    動的ライブラリやjavaのクラスパスでも同じ問題あるから、
    駄目なんだけど対応するのめんどくさい
    http://slashdot.jp/security/article.pl?sid=10/08/27/0822219
    665 : 647 - 2011/03/08(火) 00:46:04.66 (+3,-30,-38)
    $ g++ test.cpp -o hello
    $ hello

    としてもダメでした。

    $ ./hello

    で、しっかりHello World!と出力されました。
    結局、Linux的にはどのように実行するのが正しいんですか?
    上記のようにドット付けて実行するのはダメなんですか
    わざわざ絶対パスで実行するんですか?
    666 : デフォルトの名無 - 2011/03/08(火) 00:47:00.27 (-1,-29,-17)
    ./helloでいいよ。
    PATH環境変数に.を追加するなんてことはするべきでない。
    667 : デフォルトの名無 - 2011/03/08(火) 00:55:58.56 (-1,-29,-10)
    PATHって環境変数のPATHのことでしたか。実行するときのパスだと勘違いしてました。
    わかりました。ありがとうございました。
    668 : デフォルトの名無 - 2011/03/08(火) 16:10:45.73 (-2,-30,-39)
    LinuxはDOSと違って、「実行ファイルが先」に認識するもんじゃない。
    ファイルであると認識させたいときはパスが必要。

    よって、カレントディレクトリにあるもの実行したいときは
    "Fuckin' Macin'" ではなく、 "./Fuckin' Macin'" でないとダメ。

    融通が利かんアスペルガー相手にしてると思えばよい
    669 : デフォルトの名無 - 2011/03/08(火) 16:13:21.78 (+52,+29,+1)
    最初の二行からして意味不明
    670 : デフォルトの名無 - 2011/03/08(火) 16:16:43.33 (+62,+29,-35)
    特にMS-DOSは
    「カレントディレクトリにその名前の実行ファイルやフォルダがあるかないか先に探してから」
    「なければ環境変数に記された場所の下」

    って親切な設計だが、Linuxはそんな配慮なんかしない。
    671 : デフォルトの名無 - 2011/03/08(火) 16:55:49.62 (+2,-28,-46)
    親切というか…大間抜けな設計だよね。
    最近もライブラリパスで問題になったばかり。

    http://technet.microsoft.com/ja-jp/security/gg557854
    http://blogs.technet.com/b/jpsecurity/archive/2011/01/20/3381400.aspx

    safe search modeってw
    今までのはunsafeだったわけで。
    何でこんなバカな設計が出来るのか分かりません。
    672 : デフォルトの名無 - 2011/03/08(火) 17:18:04.29 (+57,+29,-43)
    最初からマルチユーザー前提で設計されたものと、
    シングルユーザー前提で基本設計がされちゃったものの違い、だろ単に。

    それを「親切」とか言っちゃうのははっきり言ってどうかとだが。
    673 : デフォルトの名無 - 2011/03/08(火) 17:25:48.86 (+25,+2,-1)
    それ、シングルマルチ関係なくネ?
    674 : デフォルトの名無 - 2011/03/08(火) 19:14:00.35 (+57,+29,-2)
    変に小細工しないでUNIX仕様そのままにしとけばよかったのにね
    675 : デフォルトの名無 - 2011/03/08(火) 19:17:12.66 (+57,+29,-3)
    祖先をたどっていった CP/M には階層ディレクトリなんてなかったから、
    そんときの動作を引き継いでるんでしょ。
    676 : デフォルトの名無 - 2011/03/08(火) 20:15:43.69 (+94,+29,-18)
    まあ20年前のバイナリが今でもちゃんと動作するという点は
    評価すべきだと思う
    677 : デフォルトの名無 - 2011/03/08(火) 20:32:00.37 (+42,+14,-6)
    DOSのファイルシステムじゃ、
    実行ファイルの区別がつけられなかったから、拡張子に.com付けてたろうが
    678 : デフォルトの名無 - 2011/03/08(火) 20:58:54.06 (-6,-29,-12)
    command.com
    679 : デフォルトの名無 - 2011/03/08(火) 21:00:44.91 (+75,+29,-46)
    >>676
    とりあえず動いてるがそれは表面的な所だけで
    ファイル名にスペース含められなかったり
    ロングファイルネームが使えなかったり
    2GB以上のファイルにアクセスして壊したり
    そのまま使ったら色々トラブルぞ
    680 : デフォルトの名無 - 2011/03/08(火) 21:04:06.54 (+52,+29,-5)
    なにその無理矢理な理由は
    681 : デフォルトの名無 - 2011/03/09(水) 04:41:07.62 (+52,+29,+0)
    お前ら、たまにはGCCの話をしろよ…
    682 : デフォルトの名無 - 2011/03/09(水) 15:35:30.89 (+52,+29,-4)
    ドザはどこでも荒らす基地害
    683 : デフォルトの名無 - 2011/03/09(水) 16:01:03.08 (+47,+29,-2)
    どさ? ゆさ
    684 : デフォルトの名無 - 2011/03/10(木) 13:47:25.28 (-1,-29,-5)
    gcc-4.5.2が入ってるディストリある?
    685 : デフォルトの名無 - 2011/03/10(木) 14:48:37.32 (+2,-29,-3)
    DistroWatchで調べよう
    Gentooならなんとかしてくれると思ったら、やっぱりなんとかしてくれていた
    686 : デフォルトの名無 - 2011/03/10(木) 16:23:45.21 (+55,+28,+0)
    自前でビルドすりゃいいじゃん
    687 : デフォルトの名無 - 2011/03/10(木) 16:43:47.84 (+2,-29,-17)
    >>685
    ありがとう調べてくるよ
    Gentooでもまだチルダ付きなんだよね

    >>686
    最初から入ってるディストリが知りたかっただけだから
    688 : デフォルトの名無 - 2011/03/10(木) 17:09:23.33 (+56,+28,-18)
    中身が新しめはfedoraじゃないかいな?
    689 : デフォルトの名無 - 2011/03/10(木) 17:25:20.31 (-7,-25,+0)
    LFS
    690 : デフォルトの名無 - 2011/03/10(木) 17:41:13.29 (+31,-29,-25)
    まだ問題抱えてないわけじゃないから、
    4.4.Xと共存できるやつ選んだほうがいいよ。
    その辺調べるより、/usr/localとか/optに自前で作る方が簡単だけどね。
    691 : デフォルトの名無 - 2011/03/10(木) 17:41:56.75 (+3,-30,+0)
    http://distrowatch.com/search.php?pkg=gcc&pkgver=4.5.2

    The following distributions include gcc version 4.5.2:

    • AgiliaLinux: 8.0-beta2
    • Arch Linux: current
    • ArchBang Linux: 2011.02
    • Ark Linux: dockyard
    • AUSTRUMI: 2.3.0
    • Debian GNU/Linux: unstable
    • Frugalware Linux: current, 1.4
    • Gentoo Linux: unstable, 11.0
    • Linux From Scratch: unstable, 6.8
    • Lunar Linux: moonbase
    • Mageia: 1-alpha1
    • Mandriva Linux: cooker
    • PLD Linux Distribution: 3.0
    • Slackware Linux: current
    • Superb Mini Server: 1.5.6
    • T2 SDE: snapshot
    • VectorLinux: 7.0-beta1
    • Zenwalk Linux: 7.0-rc3

    安定版ならSlackwareとArchとFrugalwareか
    692 : デフォルトの名無 - 2011/03/10(木) 17:43:08.57 (+62,+29,-1)
    >>690
    知りたいだけって言ってるんだから使うんじゃないんだろう
    693 : デフォルトの名無 - 2011/03/13(日) 14:46:16.23 (+52,+29,-3)
    使わないで知ることは出来ない
    694 : デフォルトの名無 - 2011/03/13(日) 20:26:43.40 (+40,+22,-2)
    出来るだろ
    695 : デフォルトの名無 - 2011/03/19(土) 20:38:54.43 (+4,-23,-1)
    cloogとの依存関係がむずかしくなちゃったね、4.6
    696 : デフォルトの名無 - 2011/03/20(日) 00:14:07.91 (-1,-29,-8)
    (´・ω・) ClooG は isl or parma どっち使ったらええのん?
    697 : デフォルトの名無 - 2011/03/20(日) 00:24:29.26 (+2,-29,-10)
    islでビルドでけた。ppl-legacyはこけた、RC
    698 : デフォルトの名無 - 2011/03/20(日) 00:29:28.87 (-2,-30,-13)
    Current release series: GCC 4.6.0 (changes)
    とか公式に書いてあるから4.6が出たのかと思った
    699 : デフォルトの名無 - 2011/03/20(日) 00:34:45.10 (+0,-28,+0)
    4.7が始まったから、4.6はまもなくでしょ
    700 : デフォルトの名無 - 2011/03/20(日) 02:45:23.74 (+3,-30,-74)
    2.6.18-194.32.1.el5 x86_64
    g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48)

    g++でコンパイルしようとすると、socketとかbindとかの関数は通るんですけど、writeとかcloseがコンパイルエラーになります。
    cppをcにしてgccでコンパイルすると通ります。
    これはどういうことでしょうか。誰か教えてください。
    まさかC++でソケット通信できないということじゃないですよね?
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / gcc スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - std:map + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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