Microsoftは、Visual Studio 2015年11月の更新でClangコンパイラサポートを追加します





Microsoftは、Visual Studio 2015の11月の更新でClangコンパイラのサポートを追加します。これは、現在米国のベルビューで開催されているCPPCon 2015カンファレンスで発表されました。



ClangはC、C ++、Objective-Cコードコンパイラであり、LLVMと組み合わせてさまざまなプラットフォーム向けのプログラムを構築できます。 Visual Studio 2015は、AndroidおよびiOSアプリケーションを開発するためのClangをすでにサポートしています。 Android向けに開発する場合、GCCとClangのどちらかを選択できますが、iOSの場合は、外部Macをビルドサーバーとして使用する必要があります。



予定されている更新により、Clangのサポートがまったく新しいレベルになります-今では、通常のWindowsアプリケーションを構築できます。



Visual C ++コンパイラは、いくつかの部分で構成されています。フロントエンド部分は、プログラムコードに対応するAST(抽象構文ツリー)の生成を担当し、バックエンド部分は、ASTを読み取って実行可能コードを生成します。 フロントエンド部分はC1と呼ばれ、バックエンド部分はC2と呼ばれ、さまざまなチームがそれらに取り組んでいます。



ClangはC1の代替として追加される予定であり、C2は引き続きその目的に使用されます。 チームリーダーバックエンドのジムレディガンが言ったように、Clangはコードの中間表現を作成し、その後、ジムは一連のタプルと呼ばれる入力C2と互換性のある形式に変換します。 次に、C2はUniversal Tuple Compilerを使用して実行可能コードを生成します。



Clang / C2バンドルを作成する主な目的は、Microsoft開発者とサードパーティ開発者の両方のクロスプラットフォームアプリケーション開発を促進することです。 多くのアプリケーションは、異なるオペレーティングシステムの下で同じClangコンパイラによって、非視覚的な部分を別々のコンポーネントに取り出して、均一に組み立てることができます。



例として、Microsoft Officeが示されましたが、そのモバイルバージョンはAndroid、iOS、およびWindows 10 Universal Windows Platformで利用できるようになりました。 Clangをフロントエンドコンパイラとして使用すると、これらすべてのアプリケーションの共通コードを同じ方法でコンパイルでき、ClangとC1の違いによるバグの発生を排除できます。



開発者は、最新のC ++標準へのコンプライアンスが向上しているため、Clangのサポートを十分に受け入れる必要があります。 それにもかかわらず、MicrosoftはC1のサポートを停止しません。C++標準のMicrosftバージョンにはいくつかの特定の追加があり、それらを使用するプログラムはまだC1をビルドする必要があるためです。 さらに、長時間実行される組み合わせC1 \ C2のコードアセンブリの速度はわずかに高くなります。



Jim Rediganは、MicrosoftはClangをフォークしないが、メインプラットフォームにWindowsプラットフォーム用のコードを追加することに焦点を当てると指摘しました。 同時に、ClangはC2をサポートするために特別なことをする必要はありません。Microsoftはその側で互換性に必要なすべてを行います。



Clangをサポートする1​​1月に予定されているアップデートのステータスは「プレビュー」になり、メインリリースは2016年2月に予定されています。



Clangのサポートに加えて、他の技術革新が計画されています。たとえば、Microsoftからの現在の提供に応じたサポートを待っています。



新しいバージョンのコンパイラもリリースされ、コマンドラインからClang / C2バンドルを使用できるようになります(Visual Studio IDEを購入してインストールする必要はありません)。



All Articles