PCC 1.0.0 リリース 59
ストーリー by headless
本当に公開されていますよ 部門より
本当に公開されていますよ 部門より
tamo 曰く、
PCC(Portable C Compiler) 1.0.0リリース版が4月1日に公開された(pcc portable c compiler、 リリース情報、リリース版のFTPディレクトリ)。
i386およびAMD64プラットフォーム上の各種BSD、Linux、Windowsではある程度の動作確認ができているが、 他のターゲットにはバグが残っている可能性が高いとのこと。近いうちに細かなバグフィクスを含むパッチを公開し、遠くない将来に1.1を公開する予定らしい。
GCC は4.6.0が出ているが、 コンパイル時間の短縮で省エネになる (?) PCC も試してみてはいかが?
お宅のコンパイパはGCCより劣るのか (スコア:3, 興味深い)
dodongaです。
との都市伝説でなく、実際に交わされた言葉として残ってます。
ソ~スが見当たらない・・・;;
えっと、PCCはずっ~~~と前からあるお、ANSI以前から。
BSD以前ににね。
エイプリルフ~ル?
閑話休題
Re: (スコア:0)
本文の先頭を件名に持ってくるだけでもアレなのに、更に間に
名乗りが挟まると本当に訳が分からんな。
Re: (スコア:0)
gmailみたいに/.Jにも『「書き込む前に四則演算」って酔っ払い書き込み防止』が必要な木がしてきた。
#酔っ払って書き込んでるんだよね?
メリット (スコア:1)
PCCを使用するメリット(お勧めポイント)は何でしょう?
gccや他のコンパイラにない特徴を教えてくだされ。
Re:メリット (スコア:2, 参考になる)
対gccですと, 最新の物がBSDライセンスに準じたライセンスで使用できること.(LLVM-clangも同様ですが)
一方gccではver2.4.1より新しいものはGPL3になっているので, 使用目的によっては最新版が使えない場合もある.
Re:メリット (スコア:1)
対gccですと, 最新の物がBSDライセンスに準じたライセンスで使用できること.(LLVM-clangも同様ですが)
一方gccではver2.4.1より新しいものはGPL3になっているので, 使用目的によっては最新版が使えない場合もある.
GCC を埋めこんだりすることって、ディストリビューションの開発者でなければ、そうそうありませんよね。
DesKwaさんのような利用形態ではライセンスはあまり関係ない [gnu.org]と思うのですが、
私、何か見落としているでしょうか。
私としては、DesKwaさんの
「使う分(プログラムをコンパイルして作成するという目的)にはあまりメリットはないと云う事でOK?」
には、「wikipedia にある『軽量』『動作が高速』にあまり魅力を感じないならその通り」
と答えるしかないと思います。
Re:メリット (スコア:1)
ありがとうございます。
>SteppingWindさん
なるほど、ライセンスの問題でgccが使えない場合は確かにメリットになりそうですね。
>tamoさん
ライセンスはライブラリの点 [gnu.org]で関係ある気がします。
ただ、その問題がないのであれば、普段使う分にはあまりメリットはなさそうですね。
Re: (スコア:0)
libgcc は例外になっているはず。
Re:メリット (スコア:2)
gccでコンパイルしてできたバイナリの動作にどうしても納得できないとき、pccでコンパイルして正しく動作することを確かめ、やはりgccのバグだったと確信して一人悦に入ることができます。
ま、実はpccの方がバグってたというオチはあり得ますが。
Re:メリット (スコア:1)
プログラミングに疎いのでコンパイラの特徴はわかりませんが。
単に、選択肢が増えるってだけでもメリットでは?
PCCとGCCではライセンスも違うので、異なる選択肢としての価値はとても高い。
Re:メリット (スコア:1)
>fukaponさん
確かに選択肢が増えるのは良いことですね。
お互いの発展にも良い影響を与えますし。
利用者としてはまだですが、最終的にはPCCを使ってみたいですね。
#BSD好きなのでw
Re: (スコア:0)
出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内, 検索
Portable C Compiler (略して pcc) はベル研究所のStephen C. Johnsonが1970年代に書いたC言語コンパイラである[1]。異なるアーキテクチャ用のコードを出力することが容易なコンパイラの先駆けであり、1980年代初期には多くのCコンパイラがpccをもとにしていた[2]。Version 7 Unixでデニス・リッチーのコンパイラに代わって採用されたあとは、1990年の4.3BSD-Renoに含まれるなど、4.4BSDでGNU Cコンパイラに取って代わられるまで、長く標準コンパイラとして君臨していた。
pcc
Re:メリット (スコア:1)
で、PCCを使うメリットはなんでしょう。
使う分(プログラムをコンパイルして作成するという目的)には
あまりメリットはないと云う事でOK?
誰か解説してください (スコア:1)
Re:誰か解説してください (スコア:2, 参考になる)
1980年代前半にはすでに4.xBSDに乗ってたpcc(ver1.0は1980年代に出てたはず)が、今になってver1.0として出てくるのは変なんですが。日付からするとエイプリルフールネタでも無し。「C99対応PCC」のver1.0ってこと??
そういうことです。
http://pcc.ludd.ltu.se/pcc_history/ [ludd.ltu.se]
若輩者ゆえ S. C. Johnson 版で 1.0 が出ていたかどうか存じませんでしたので
4.4BSD の src.tar.gz らしきものを落としてきて usr/src/old/pcc の中を探ってみたのですが、
pcc としてのバージョン表記は私には見付けられませんでした。
ちなみに、
いまのメンテナである ragge が OpenBSD か NetBSD (どっちだったか忘れました) に投げた
最初のメールでは「いまは 0.9.8 だよ」って言っていた気がしますし、
cvs で彼が最初に付けたバージョン番号は0.9.0 [zentus.com]だったみたいです。
Re:GPL汚染 (スコア:2, すばらしい洞察)
Re: (スコア:0)
最後の一文に持っていくにはもう少しですね。
Re: (スコア:0)
スコアの上がってる #1929978 [srad.jp] に引っ掛けたもんじゃないかなと推測。
Re:GPL汚染 (スコア:1)
BSD厨っていうのがBSDユーザーを指しているのか
何を使ってるかに関わらず残念な方を指してるか分かりませんが、
持ちつ持たれつなのでお互い様じゃないですか?
# ポリシーを持って全部GPLで揃えてる方だったらすいません
Re:GPL汚染 (スコア:1, すばらしい洞察)
そもそもGPL嫌いはBSD厨になるものなの?
事あるごとにネトウヨと決めつけちゃう人たちみたいだ
Re: (スコア:0)
藁人形論法
llvm (スコア:0, フレームのもと)
言われなくてもgccなんてシェアどんどん減っていますよ。今はllvm [wikipedia.org]もあるし。
もともとgccなんてフリーで手に入るくらいしかメリットなかったでしょう。生成するコードはVisual C++と比べても悪いし、変なgcc拡張 [u-tokyo.ac.jp]が多くてC/C++で書いていると言うよりgcc言語というC言語の類似言語みたいになっているし、どちらかというと弊害の方が大きかったと思います。で、llvmが実用になった今、gccを使うのは物好きだけではないかと。
pccはまだ使ったことはない。
Re:llvm (スコア:1, 参考になる)
物好きだからって理由だけでgccを使い続けてる奴らばかりだとは考えないほうがいい
Re:llvm (スコア:1)
Re: (スコア:0)
じゃなかったっけ?
SPARCとか。
自分でGCCとsunのccで比較してもそんな感じだった記憶がある。
Re: (スコア:0)
>>もともとgccなんてフリーで手に入るくらいしかメリットなかった
いろんな環境で(様々な言語が)動く,ってのはフリーであること以上にメリットかと.
商用でここまで対応アーキテクチャ, 対応OS, 対応言語の多いコンパイラスイートって他にどんなのありますか?
Re: (スコア:0)
Re: (スコア:0)
iOS は、Object-C がなんで安泰?
Re: (スコア:0)
大元のACの煽りコメントも明白に頭が悪いけど、それはともかくとして一見全てまともそうなこっちの煽りにちょっとだけマジレス。
> 変なgcc拡張
こーゆー話題で時代遅れ (1995 年のタイムスタンプが付いてるよ……) の文書を注意書きも無く引っ張り出しちゃいかんでしょ。コンパイラ独自の拡張ってのは時代が下ると新しい標準規格に取り入れられることもある訳で。しかも、使わなきゃいけないという物でも無いです。使ってるコードをメンテやデバッグする時には確かにムカつきますけどね。
Re:llvm (スコア:1)
しかも clang [llvm.org] や pcc [ludd.ltu.se] も gcc 拡張を使えますね。
Re: (スコア:0)
素朴な疑問ですが、gccのコードがVisualC++よりも悪いというのはどこの情報でしょうか?
Re: (スコア:0)
ちょっと検索しただけでも、次のようなものが見つかりました。
参考:コンパイラを変えるだけでパフォーマンス向上、インテル コンパイラーの実力を見る
http://osdn.jp/magazine/08/12/24/118252/5
Re:llvm (スコア:1, 興味深い)
大抵はgccのコンパイラオプションを理解していない人が書いています。
Intelのコンパイラには豊富にオプションを設定するのにね。
数ヶ月前に/.Jにも頻繁に飛ばし記事の広告が出ていて嫌気がしました。
# gccにオプションが足りなくて、-mfpmath=sseって付けるだけでiccと同じ速度が実現出来る記事だった。
Re:llvm (スコア:2, 参考になる)
しまった-ffast-mathだった。
アセンブラコードで見るC++ Composer XEの強力な最適化機能
http://osdn.jp/magazine/10/11/26/0710258/3 [osdn.jp]
Linux/Windows環境で広く使われているコンパイラの1つに、GCCがある。最新版のGCC(GCC 4.5.0)ではSSEサポートが行われており、たとえば「-march=core2 -msse4 -mfpmath=sse」といったオプションを指定することで、SSEを使用するコードを出力できる。
オプションを3つもつけて、あたかも公平にオプション使いこなしているかのように書いてあるのですが、-ffast-mathで一撃です。
かく言う私も-mfpmath=sseと間違えてしまったので人の事言えないですけど。
Re: (スコア:0)
-ffast-mathはIEEE規格を満たさないコードを生成する可能性があるんじゃありませんでしたっけ。
比較相手もそのような規格を満たさない可能性のあるオプションをつけているとか、
比較する領域が明確で、規格を外れるのが問題にならないことがわかっている、というのなら構いませんが、
前提無しの一般的な比較では使えないオプションだと思います。
というのがまあ正論だと思うんですが、上記比較記事ではそれが構わない文脈だったのかどうか、
までは確認してませんです。
Re: (スコア:0)
今コンパイラの性能を言うなら、複数コアでの性能では無いでしょうか。
どこかに言い比較記事はないものだろうか。
#ちなみに普段はPGIのコンパイラを使ってます
Re: (スコア:0)
Re: (スコア:0)
Re: (スコア:0)
>>もともとgccなんてフリーで手に入るくらいしかメリットなかったでしょう。
しかし絵に描いた餅は食べられないように、
脳内構想だけのCコンパイラは実際には使えないわけで、
フリーで手に入ることのメリットは大きかったのでは?
Re:llvm (スコア:1)
>最近のコンパイラはコード書いてくれるんだー。すげー。
書いてくれますよ、機械語とか中間言語とかを...
コンパイラーって翻訳機なんですから、あるコードを別のコードにするのが主なお仕事です。
コードを出さないコンパイラって、いつごろのことですか?
Re:llvm (スコア:2, おもしろおかしい)
> コードを出さないコンパイラって、いつごろ
20年くらい前 [amazon.co.jp]かな。
Re:llvm (スコア:1)
アセンブラとくっついたり離れたりしたからな。
Re: (スコア:0)
> 最近のコンパイラはコード書いてくれるんだー。すげー。
あなた、C言語の仕組み解ってませんね。
で真面目な話をすると、生成されるコードの最適化の度合い、と言う点では
intel compiler > visual c++ > GCC 4.6
という感じです。ただ昔に比べれば差はかなり小さくなってます。
このわずかな差を持って「生成するコードの質が悪い」とか言ってしまうのは時代錯誤だと思います。
Re: (スコア:0)
コード=オブジェクトコード→ソースコード で分かる?
Re: (スコア:0)
上マジレスのコメントはわかるが、あなたのコメントは何が言いたいのかわからない。
Re: (スコア:0)
(#1929923) だけは「コード=ソースコード」で、
ほかのコメントは「コード=オブジェクトコード」で、
話がつながっていないんだよ。
オチ解説しているみたいで、おいらがバカだな(^^;
Re: (スコア:0)
Re: (スコア:0)
知らないなら無理にコメントしなくていいよ。
Re: (スコア:0)
ところが中の人達はそれほどGNU嫌いじゃないし
binutilsは(まだ?)要るから……もうちょっと世話になるぜ
Re: (スコア:0)
http://srad.jp/it/comments.pl?sid=486066&cid=1723261 [srad.jp]