2012-04-04

clangは現在最強のC++コンパイラー

clangを検証した結果、現在入手できるC++コンパイラーの中では、最強だということが判明した。C++11の主要な機能はほぼすべて網羅している。さらに、規格準拠度では、gccよりも信頼できる。

あとは、標準ライブラリだ。clangはgccとABI互換を持っているので、gccのstdlibc++とABIライブラリが使える。ただし、llvmで開発中の標準ライブラリがある。libc++だ。

"libc++" C++ Standard Library

ただし、まだドキュメントが不足している。それに、これだけでは使えない。この下に更に、ABIライブラリが必要になる。これも、llvmで開発してる。

"libc++abi" C++ Standard Library Support

こちらはさらに時期尚早だ。

このふたつが完成すれば、clangは完全になるだろう。いまclangへの移行を阻むのは、過去の資産とgccの膨大なターゲットアーキテクチャぐらいなものか。ただし、clangには未来を感じる

ところで、いまclangを不自由なMSVCに対応させるべく頑張っている開発者の怨嗟の声が聞こえてくる。次の不自由なMSVC11も、やはり悲惨な出来らしい。もはや、不自由なWindowsには未来がないのでどうでもいいのだが。

3 comments:

Jesse said...

ただ、ラムダが使えない..

江添亮 said...

3.1から使えます。
もはや、サポートしていないのはInheriting Constructorしかありません。
ただし、Inheriting Constructorは、おそらくC++11におけるexportとなるでしょう。

Naohisa said...

libc++をWindows上で使いたいのですが、どういった方法がありますでしょうか?とてもお詳しいようなので、ぜひご指導いただければと思いまして。調べてもほとんど資料が見つからないのです。