Microsoft VisualStudioがC言語のサポートを強化
MicrosoftのVisualStudio IDEは、C11およびC17 C言語標準のサポートを追加し、IDEの以前のCの限定サポートを拡張しました。C11およびC17は、9月14日にリリースされたVisual Studio 2019 16.8 Preview3以降のサポート言語バージョンになります。
何年もの間、Visual StudioはCのサポートを、Cの拡張として構築されたC ++言語に必要なものに制限してきました。現在、準拠したトークンベースのプリプロセッサがコンパイラに追加されています。最新のISOC標準に準拠するために、2つのコンパイラスイッチ/std:c11
と /std:c17
が追加されました。
C11とC17の機能のようなサポートされている_P
ragma
、restrict
とStatic_assert
。IntelliSenseは.c
、ソースファイルのファイル拡張子または/TC
コンパイラスイッチを使用してCコードの構文の強調表示を有効にすることにより、これらの機能を操作できます。ただし、IntelliSenseの強調表示は現在、キーワードでのみ使用でき、標準ヘッダーで導入されたマクロでは使用できません。将来のリリースでこれが修正される予定です。
トークンベースの適合プリプロセッサが含まれているため、2つの新しいCコンパイラスイッチは/ Zc:preprocessorを意味します。従来の文字ベースのプリプロセッサをC11またはC17と一緒に使用したい開発者は、/Zc:preprocessor-
コンパイラスイッチを渡す必要があります。
Microsoftは、C17をISO Cのバグ修正リリースとして説明しました。C11バージョンとC17バージョンの唯一の違いは、C17の_STDC_version
マクロです。Visual StudioはC11オプション機能をサポートしていませんが、Microsoftは将来のリリースで最も影響力のあるオプション機能を追加する予定です。アトミックおよびスレッドのサポートは、製品ロードマップにあります。
プログラムでC11とC17を使用するには、開発者は最新のInsider Preview Windows SDKアップデートを使用して、準拠するプリプロセッサと新しいUniversalCランタイムを使用する必要があります。開発者は、無料のMicrosoftアカウント(//signup.live.com)を作成してから、Insiderプログラムにオプトインできます。Microsoftは、C11およびC17の使用を開始するための一連の手順を投稿しています。
Visual Studio 2019 16.8 Preview 3は、コンパイラ、標準ライブラリ、およびIDE全体でC ++ 20のサポートも改善されています。モジュール、概念、コルーチン、および一部の範囲を同じプロジェクトで使用できます。