元スレGCCについて part9
gcc覧 / PC版 /みんなの評価 : ○
654 = :
>>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
658 = :
そんなことはない
659 = :
PATH に . を含めればできるが、やってはいけない。
たとえばダウンロードしたアーカイブを展開した中のディレクトリで、意図しないコマンドを
実行させられるかもしれない。
661 = :
でっていう
662 = :
>>659
だよなぁ。
msys 環境だとデフォルトで PATH の先頭にカレントディレクトリが付いててブチ切れそうになったわ
664 = :
動的ライブラリやjavaのクラスパスでも同じ問題あるから、
駄目なんだけど対応するのめんどくさい
http://slashdot.jp/security/article.pl?sid=10/08/27/0822219
665 = :
$ g++ test.cpp -o hello
$ hello
としてもダメでした。
$ ./hello
で、しっかりHello World!と出力されました。
結局、Linux的にはどのように実行するのが正しいんですか?
上記のようにドット付けて実行するのはダメなんですか
わざわざ絶対パスで実行するんですか?
669 = :
最初の二行からして意味不明
670 = :
特にMS-DOSは
「カレントディレクトリにその名前の実行ファイルやフォルダがあるかないか先に探してから」
「なければ環境変数に記された場所の下」
って親切な設計だが、Linuxはそんな配慮なんかしない。
671 = :
親切というか…大間抜けな設計だよね。
最近もライブラリパスで問題になったばかり。
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 = :
最初からマルチユーザー前提で設計されたものと、
シングルユーザー前提で基本設計がされちゃったものの違い、だろ単に。
それを「親切」とか言っちゃうのははっきり言ってどうかとだが。
673 = :
それ、シングルマルチ関係なくネ?
674 = :
変に小細工しないでUNIX仕様そのままにしとけばよかったのにね
675 = :
祖先をたどっていった CP/M には階層ディレクトリなんてなかったから、
そんときの動作を引き継いでるんでしょ。
676 = :
まあ20年前のバイナリが今でもちゃんと動作するという点は
評価すべきだと思う
677 = :
DOSのファイルシステムじゃ、
実行ファイルの区別がつけられなかったから、拡張子に.com付けてたろうが
679 = :
>>676
とりあえず動いてるがそれは表面的な所だけで
ファイル名にスペース含められなかったり
ロングファイルネームが使えなかったり
2GB以上のファイルにアクセスして壊したり
そのまま使ったら色々トラブルぞ
680 = :
なにその無理矢理な理由は
681 = :
お前ら、たまにはGCCの話をしろよ…
682 = :
ドザはどこでも荒らす基地害
683 = :
どさ? ゆさ
685 = :
DistroWatchで調べよう
Gentooならなんとかしてくれると思ったら、やっぱりなんとかしてくれていた
686 = :
自前でビルドすりゃいいじゃん
687 = :
>>685
ありがとう調べてくるよ
Gentooでもまだチルダ付きなんだよね
>>686
最初から入ってるディストリが知りたかっただけだから
688 = :
中身が新しめはfedoraじゃないかいな?
690 = :
まだ問題抱えてないわけじゃないから、
4.4.Xと共存できるやつ選んだほうがいいよ。
その辺調べるより、/usr/localとか/optに自前で作る方が簡単だけどね。
691 = :
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 = :
>>690
知りたいだけって言ってるんだから使うんじゃないんだろう
693 = :
使わないで知ることは出来ない
694 = :
出来るだろ
695 = :
cloogとの依存関係がむずかしくなちゃったね、4.6
697 = :
islでビルドでけた。ppl-legacyはこけた、RC
700 = :
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++でソケット通信できないということじゃないですよね?
みんなの評価 : ○
類似してるかもしれないスレッド
- GCCについて part8 (763) - [95%] - 2009/3/11 8:47 ☆
- GCCについて part10 (538) - [90%] - 2018/7/5 20:30
- 【激遅】AppleGCC【絶望】 (111) - [18446744073709551607%] - 2010/1/15 10:31
トップメニューへ / →のくす牧場書庫について