オープンソース・ソフトウェアの開発とダウンロード

SourceForge.JP Magazineをフォロー

オープンソース・ダウンロード

7-Zip  (4,315)  
HandBrake日本語版  (2,628)  
CrystalDiskInfo  (1,477)  
BathyScaphe  (1,381)  
Media Player Classic - Homecinema  (1,188)  
CaptureStream  (1,158)  
ffdshow  (1,049)  
CrystalDiskMark  (887)  
Tera Term  (816)  
10  mixfont-mplus-ipa  (618)  
11  えこでこツール  (545)  
12  FFFTP  (454)  
13  MergeDoc  (342)  
14  Boookends  (321)  
15  SMPlayer  (316)  
もっと見る >>

C++への移行が完了、最適化機能も強化された「GCC 4.8」リリース

2013年03月25日 17:00 末岡洋子

 GCC開発チームは3月22日、「GCC 4.8.0」を公開した。GCC自体のビルドにC++コンパイラが必須となったほか、最適化機能の強化などが行われている。

 GCC(GNU Complier Collection)はGNU Project傘下で開発されているコンパイラ。CやC++、Objective-C、Fortran、Java、Ada、Goなど多数の言語に対応する。

 GCC 4.8は、2012年3月に公開されたバージョン4.7に続くメジャーアップデート版となる。大きな変更点としては、ビルドにC++コンパイラが必須となった点がある。GCCは長らくCで実装されていたが、C++で実装したいという要求があり、C++への移行が進められていた。本バージョンではC++への移行が完了し、ソースコードからGCCをビルドする際にC++2003準拠のC++コンパイラが必要となった。また、ループ最適化機構「Graphite」を有効にするためには「CLooG 0.18.0」および「ISL 0.11.1」も必要となる。これらはGCCインフラディレクトリよりダウンロードできる。ループ最適化ではアグレッシブな解析を利用するようになったが、SPEC CPU 2006ベンチマークの「464.h264ref」など想定通りに動かない例もあるという。これを無効化するオプション-fno-aggressive-loop-optimizationsも用意する。

 そのほかの新機能としては、ia21およびx86-64をターゲットとしたコードの品質改善機能「Local Register Allocator」の導入がある。また、デバッグ情報形式DWARFでは、DWARF4がデフォルトになった。リンク時の最適化(Link-time optimization、LTO)機能ではパーティショニングの書き直しが行われ、信頼性や保守性を強化したという。

 最適化関連ではGoogleが開発した高速なメモリエラー検出ツール「AddressSanitizer」や、Valgrindを土台とする「ThreadSanitizer」が新たに加わった。このほか、「-Og」という新たな最適化レベルの導入も行われている。これにより、高速なコンパイルやデバッグを支援するという。新しいオプションとして部分冗長削除(PRE)を管理する-ftree-partial-preも加わった。

 言語別にも細かな機能強化が加わっている。たとえばGoogle Go言語では次期版となるGo 1.1の初期対応を実現している。C++ではOpenMPのthreadprivateサポートも強化した。アーキテクチャでは64ビットARM命令セットアーキテクチャ「AArch64」の対応などが強化点となる。

GCC
http://gcc.gnu.org/

最終更新:2013年03月25日 16:29