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:

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

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

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

    ReplyDelete

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.