GCC 4.9リリース 68
ストーリー by hylom
そろそろGCC-5は見えてきたのか? 部門より
そろそろGCC-5は見えてきたのか? 部門より
あるAnonymous Coward 曰く、
GCC 4.9がリリースされた(変更点一覧、SourceForge.JP Magazine)。
OpenMP 4.0サポートやリンク時最適化の強化、C++11のサポートおよびC++1y(C++14)の一部サポート、Go言語1.2のサポート、Fortran 2003への対応及び2008対応の強化、各種CPUアーキテクチャへの対応強化等、多岐にわたる変更が施されている。
カラーでエラーや警告表示 (スコア:1)
コンパイル時の出力でエラーは赤、警告はマゼンダとかちょっといいですね。
文字色が変えられる端末限定だそうですが、IDEのログ表示領域ってどう認識されるのだろう?
Re:カラーでエラーや警告表示 (スコア:1)
> マゼンダ
正しくは「マゼンタ」。 magenta です。
Re: (スコア:0)
この間違いを多く見るんだけど、どこで間違って覚えるのだろう。
2回に1回は毎回間違えているような気がする (スコア:1)
google magenda 画像(ポチ) [google.co.jp]でこんな風になると「あぁ、ダか」って思ったけどよく見ると「もしかして」って言ってくれてる。orz
まぁ、小学生のころにシリコンゴムをシコリンゴムと間違っていたのよりはましだが。:-)
Re: (スコア:0)
ゼンダマン?
Re: (スコア:0)
これはエスケープシーケンスなのでしょうか。
#昔懐かしパソ通の超絶技巧エスケープシーケンスアニメーションは300bps限定だった
Re:カラーでエラーや警告表示 (スコア:1)
どうなんでしょうね。オプションautoで端末出力時は色が着くというところから、エスケープシーケンスっぽいですけど。
(grep --color=autoと同じような)
早く使ってみたいものです。
Re: (スコア:0)
昔、あれだけ色を付けたらいけないって言われたでしょうに(色弱者対応)
Mozillaの次は、こっちですか?
# ターミナル設定では、赤とか判読できないし(それは年のせいかな→おおっプラグラム熊ねえ)
Re: (スコア:0)
色情報が追加されただけで文字同士の色が判別出来なくても以前と同じになるだけだし、仮想端末の色設定で太字やブリンクや輝度差に変更できるし、最悪色設定切るだけでいいし、何問題なさげ。
背景と文字の判別はカラースキームによってはもともと相性があるから、色弱なくても調節しなきゃダメなケースは普通に有るしねぇ……
Re: (スコア:0)
他人の手間だからといって気安く言ってくれる
Re: (スコア:0)
> 他人の手間だからといって気安く言ってくれる
その理論はおかしくないか?
色弱じゃない人は色弱者対応しなくていいってことになっちゃうよ。
Re: (スコア:0)
色で判別出来なかったとしても以前と同じなのに何が気に食わないのかわからない。
一般的に問題になってる色しか判別方法がないというわけじゃないんだよ?
Re:カラーでエラーや警告表示 (スコア:1)
(ここにいる人が一般的って議論は置いといて)
一般的には色弱に対する理解ってこの程度なんだろうなって思う。
Re: (スコア:0)
この程度ってどのような意味でしょうか。
色弱の人が正常者より少ない利益が得られないことをするということでしょうかね?
Re: (スコア:0)
いやいや、そんな穿った見方の話じゃなくってさ。
色弱っていってもいろんなタイプの人がいるんで
モノの見え方は単純な話じゃないんだよってコト。
WEB系だと、結構気を使ってるのを聞くんだけど
「フツーのプログラム開発者」だと
そこまでのデザインはしないんだよね。
#なんとなくACで。
Re: (スコア:0)
言われた覚えないけど?
Re: (スコア:0)
そういえば昔、論文を書くときに、白黒でも読める(モノクロコピー機でコピーしても読めるように)しろとか言われたなぁ。
色情報が無いと理解できないようにするのは良くないのかもしれないけど、色が分からなくても理解できるならいいんじゃないの。
もしくは、最近は色覚障害のためのガイドラインもいくつかていあんされているようで( http://www.nig.ac.jp/color/guideline_kanagawa.pdf [nig.ac.jp] )、上手に使えばいいと思うけど。
Re: (スコア:0)
cmakeカラーだけど見やすいね
Re: (スコア:0)
gcc 4.8 でも色は付いているようだ、少なくとも Fedora 20 では。
でも、tee(1) でパイプにつなげると色はつかないし、tee で得られるファイルにはエスケープシーケンスなどは入っていない。
つまり、isatty(3) の戻り値に応じて色をつけるつけない、をやっているのだろう。
そうなると、IDE がエスケープシーケンスを解釈する端末を用意すれば自然と色がつくだろうが、そんなことはせずに、IDE がメッセージをパーズして色をつけるなり、エラー箇所にジャンプするなりした方が普通のような気がする。
追加でほしい機能 (スコア:0)
gcc の方ではネスト関数が使えるのだけど、g++の方にも移植してくんないかな。
この機能が無いので古い財産がg++に移植できない。
ちなみにこんな関数ね。
int main(){
int nest(int x) {
return x*2;
}
printf("%d\n", nest(32));
}
Re: (スコア:0)
int main()
{
auto nest = [](int x) { return x *2; };
printf("%d\n", nest(32));
}
Re: (スコア:0)
C++11 を使いたくなければ、
int main()
{
struct {
int operator()(int x) const { return x*2; }
} nest;
printf("%d\n", nest(32));
}
Re: (スコア:0)
へえ、あなたはネスト関数が無いと困ってる人に対してechoを勧めるんですね。
Re: (スコア:0)
円周率100万桁目をきわめて低コストに表示します。
echo 1
Re: (スコア:0)
動作が違います。
$ ./a.out && echo return_code_zero
64
$ echo 64 && echo return_code_zero
64
return_code_zero
Re: (スコア:0)
おかしいなあと思って試したら、やはり同じになりましたよ。
(元のコードはincludeが足りませんでしたが、自明だから省略したのでしょう)
Re: (スコア:0)
省略されているのは return ですね。
Re: (スコア:0)
return のない int main() が何返すかなんて処理系依存でしょう
Re:追加でほしい機能 (スコア:1)
-- 哀れな日本人専用(sorry Japanese only) --
Re: (スコア:0)
では#2588567 [srad.jp]の結果は謎だな
Re: (スコア:0)
一番元のコメントのCのやつだったとか?
Re:追加でほしい機能 (スコア:1)
最近のC/C++では、main関数に限り、return がない場合は関数末尾に return 0; があるものとみなされます。
Re: (スコア:0)
ラムダ?
もう (スコア:0)
LLVMがあればGCCなんていらんわな
Re:もう (スコア:2)
Linuxがビルドできないんですが…
ああ,*BSD派の方ですね
Re:もう (スコア:1)
LinuxがあればFreeBSDなんていらんわな
ChromeがあればFirefoxなんていらんわな
QtがあればGTK+なんていらんわな
HTML5があればFlashなんていらんわな
DirectXがあればOpenGLなんていらんわな
JavaScriptがあればC++なんていらんわな
まだあるけど、いらない理由なんて無い
俺はここに挙げたもの全部好きだ
Re:もう (スコア:1)
実際DirectX使うことは多いけど、逆だった気がする…
Re: (スコア:0)
LLVMのメリットって、正直、ライセンスがGPLじゃないくらいでしょ。ベンチでGCCと張り合えるのはいつになることやら。
Re:もう (スコア:4, 参考になる)
gccと違って外部から各機能を利用しやすいようにモジュール化されてるから構文解析とかにも使われてるよ。
gccはライセンスだけじゃなく意図的にそういう使われ方されないような作りにしてる。
Re:もう (スコア:1)
その程度のことでゴチャゴチャ言うなんて、フリーソフトウェア信者は狭量なんだなぁ
Re: (スコア:0)
なんだこのマッチポンプ
Re: (スコア:0)
ネタ不足のどっかのまとめサイトに目を付けられたのでは?
何でもいいから、炎上させたいのでしょう。
C++11 とか c11 とか (スコア:0)
Re:C++11 とか c11 とか (スコア:1)
C++にリファレンス実装なんて無い。
最近じゃLLVMの方が先を行っているようで。
Re: (スコア:0)
ISOがISOで規格化したプログラミング言語のリファレンス実装までしてる(させてる?)って本当ですか?
clang/llvmとの比較は? (スコア:0)
どこかにありませんか?
Re:clang/llvmとの比較は? (スコア:3, 参考になる)
C++だけですが、こことか?
https://sites.google.com/site/cpprefjp/implementation-status [google.com]
あとは、gccは識別子のUCN変換が未実装なので
int 変数 = 0;
とかが出来ないですね。
gcc4.9ってえらいの (スコア:0)
フリーソフトのコンパイルにgcc4.8を使っていたけど4.9にするだけで速くなるのでしょうか?
Re:gcc4.9ってえらいの (スコア:3)
ベンチマークとりました
手元の C++ のコードで
最適化無し (-O0) だと
gcc-4.8 21秒
gcc-4.9 24秒
最適化あり (-O3) だと
gcc-4.8 23秒
gcc-4.9 27秒
ということで、この結果だけみると gcc-4.9 の方が遅い
ちなみに環境は debian/unstable amd64 で gccのバージョンは
gcc version 4.8.2 (Debian 4.8.2-19)
gcc version 4.9.0 20140411 (prerelease) [gcc-4_9-branch revision 209311] (Debian 4.9-20140411-2)
ただし debian の gcc-4.9 自体が debugビルドである可能性はあるので、この結果を鵜呑みしないように。
Re: (スコア:0)
スラドには試した人いてなさそう。
ということで、自分で確認しませう。