Visual Studio の C および C++

注意

この開発者向けドキュメントは、Visual Studio 2022 に適用されます。 優先するバージョンの Visual Studio のドキュメントを表示するには、 [バージョン] セレクター コントロールを使用します。 このページの目次の一番上にあります。

プログラムを実行できるように Microsoft Visual C++ 再頒布可能パッケージを探している場合は、サポートされている最新の Visual C++ のダウンロードに関するページを参照してください。

注意

この開発者向けドキュメントは、Visual Studio 2019 に適用されます。 優先するバージョンの Visual Studio のドキュメントを表示するには、 [バージョン] セレクター コントロールを使用します。 このページの目次の一番上にあります。

プログラムを実行できるように Microsoft Visual C++ 再頒布可能パッケージを探している場合は、サポートされている最新の Visual C++ のダウンロードに関するページを参照してください。

注意

この開発者向けドキュメントは、Visual Studio 2017 に適用されます。 優先するバージョンの Visual Studio のドキュメントを表示するには、 [バージョン] セレクター コントロールを使用します。 このページの目次の一番上にあります。

プログラムを実行できるように Microsoft Visual C++ 再頒布可能パッケージを探している場合は、サポートされている最新の Visual C++ のダウンロードに関するページを参照してください。

注意

この開発者向けドキュメントは、Visual Studio 2015 に適用されます。 優先するバージョンの Visual Studio のドキュメントを表示するには、 [バージョン] セレクター コントロールを使用します。 このページの目次の一番上にあります。

プログラムを実行できるように Microsoft Visual C++ 再頒布可能パッケージを探している場合は、サポートされている最新の Visual C++ のダウンロードに関するページを参照してください。

Microsoft Visual C++ (MSVC) とは、Windows 上で Visual Studio の一部として利用できる C++、C、およびアセンブリ言語の開発ツールおよびライブラリのことです。 これらのツールとライブラリでは、ユニバーサル Windows プラットフォーム (UWP) アプリ、ネイティブ Windows デスクトップおよびサーバー アプリケーション、Windows、Linux、Android、iOS 上で実行されるクロスプラットフォーム ライブラリおよびアプリに加えて、.NET Framework を使用する管理対象のアプリおよびライブラリを作成できます。 MSVC を使用すると、単純なコンソール アプリから最も高度で複雑な Windows デスクトップ用アプリまで、またデバイス ドライバーやオペレーティング システムのコンポーネントからモバイル デバイス用のクロスプラットフォーム ゲームまで、さらに最小の IoT デバイスから Azure クラウドにおけるマルチ サーバー ハイ パフォーマンス コンピューティングに至るまで、あらゆるアプリを記述することができます。

Visual Studio 2015、2017、および 2019 は、サイド バイ サイドでインストールできます。 Visual Studio 2019 (コンパイラ ツールセット v142) または Visual Studio 2017 (v141) を使用し、Visual Studio 2017 (v141) と Visual Studio 2015 (v140) のツールセットを使用して、プログラムの編集とビルドを行うことができます。

新機能と準拠の履歴

Visual Studio での C++ の新機能
Visual Studio の新機能を紹介します。

Visual Studio 2003 から 2015 の C++ の新機能
Visual Studio 2003 から 2015 の各バージョンの、C++ の新機能を紹介します。

Visual Studio の C++ 準拠の強化
Visual Studio の C++ 準拠の強化について説明します。

Microsoft C/C++ 言語の準拠
Visual Studio バージョンを MSVC コンパイラで、機能レベルの言語準拠状態を検索します。

Microsoft C/C++ 2003 - 2015 の変更履歴
前のバージョンの互換性に影響する変更点について説明します。

Visual Studio をインストールして、以前のバージョンからアップグレードする

Visual Studio での C++ サポートのインストール
Visual Studio をダウンロードし、Microsoft C/C++ のツールセットをインストールします。

Visual C++ 移植およびアップグレード ガイド
より高度な C++ 標準へのコンパイラの準拠および大幅に向上したコンパイル時間とセキュリティ機能 (Spectre の軽減策など) を活用するために、コードを移植してプロジェクトを Visual Studio 2015 以降にアップグレードするためのガイダンスです。

さまざまな Visual Studio エディションの C++ ツールと機能
さまざまな Visual Studio のエディションに関する情報を提供します。

サポートされているプラットフォーム
Microsoft C/C++ コンパイラによってサポートされているプラットフォームを確認します。

C++ について

C++ へようこそ
高速で安全なコードを記述し、C スタイルのプログラミングの多くの潜在的な危険を回避するための、C++11 以降に基づく現代的な C++ プログラミング手法に関する情報を提供します。

標準 C++
C++ について説明しながら、最新の C++ の概要を示すとともに、書籍、記事、講演、イベントなどへのリンクを提供します。

Visual Studio について学習し、最初の C++ プロジェクトを作成する
Visual Studio で C++ を記述する方法の学習を始めます。

Visual Studio C++ のサンプル
Microsoft から提供されている C++ のコード サンプルに関する情報。

C++ 開発ツール

Visual Studio での C++ 開発の概要
Visual Studio IDE を使用し、プロジェクトの作成、コードの編集、ライブラリへのリンク、コンパイル、デバッグ、単体テストの作成、静的分析の実行、配置などを行う方法。

プロジェクトおよびビルド システム
MSVC のコンパイラ オプションとリンカー オプションを使用し、Visual Studio C++ プロジェクト、CMake プロジェクト、その他のプロジェクトを作成し、構成する方法です。

C++ コードの作成とリファクタリング
C++ エディターの生産性機能を使用し、コードのリファクタリング、理解、記述を行う方法です。

ネイティブ コードのデバッグ
C++ プロジェクトで Visual Studio デバッガーを使用する。

C/C++ のコード分析の概要
静的な分析を行うために、SAL 注釈または C++ Core Guidelines チェッカーを使用する。

Visual Studio で C/C++ 用の単体テストを作成する
C++ 用の Microsoft 単体テスト フレームワーク、Google Test、Boost.Test または CTest を使用して、単体テストを作成する。

C++ でアプリケーションを作成する

ユニバーサル Windows アプリ (C++)
Windows Developer Center 内にあるガイドとリファレンス コンテンツを探します。 UWP アプリの開発の詳細については、「ユニバーサル Windows プラットフォームの紹介」と、C++ を使用した最初の UWP アプリの作成に関するページを参照してください。

デスクトップ アプリケーション (C++)
Windows 向けの従来のネイティブ C++ デスクトップ アプリケーションの作成方法について説明します。

C++/CLI による .NET プログラミング
ネイティブの C++ と、C# や Visual Basic などの言語で記述されている .NET プログラムの間の相互運用を可能にする DLL の作成方法。

Linux でのプログラミング
GCC でコンパイルするためにリモートの Linux マシンにコードを記述し配置するために Visual Studio IDE を使用する方法。

Visual Studio での C/C++ DLL の作成
Win32、ATL、および MFC を使用して Windows のデスクトップ DLL を作成する方法、さらには DLL をコンパイルおよび登録する方法。

並列プログラミング
並列パターン ライブラリ、C++ AMP、OpenMP、その他 Windows 上でのマルチスレッド化に関連する機能を使用する方法。

セキュリティ推奨事項
悪意のあるコードや不正使用からアプリケーションを保護する方法を説明します。

クラウドおよび Web プログラミング
C++ では、Web とクラウドに接続するためのいくつかの方法があります。

データ アクセス
ODBC と OLE DB を使用してデータベースに接続します。

テキストと文字列
さまざまなテキスト形式および文字列形式の処理、およびローカルおよび国際対応の開発におけるエンコーディングの処理について説明します。

言語リファレンス

C++ 言語リファレンス
C++ プログラミング言語の Microsoft の実装に関するリファレンス ガイド。

C/C++ のプリプロセッサ リファレンス
C と C++ の共有言語プリプロセッサに関する共通のリファレンス。

C 言語リファレンス
C プログラミング言語の Microsoft の実装に関するリファレンス ガイド。

コンパイラの組み込みとアセンブリ言語
各プラットフォームで Microsoft C/C++ コンパイラによってサポートまたは実装されているコンパイラ組み込みに関するガイド。

Visual Studio での C++ ライブラリ

以下のセクションでは、Visual Studio に含まれるさまざまな C および C++ ライブラリについて説明します。

C ランタイム ライブラリ リファレンス
セキュリティ上の問題が発生することがわかっている関数に対する、セキュリティを強化された代替品が含まれています。

C++ 標準ライブラリ
C++ 標準ライブラリ。

Active Template Library (ATL)
COM コンポーネントとアプリのサポート。

Microsoft Foundation Class (MFC) ライブラリ
従来型または Office スタイルのユーザー インターフェイスを持つデスクトップ アプリケーションの作成のサポート。

並列パターン ライブラリ (PPL)
CPU で実行する非同期および並列アルゴリズム。

C++ AMP (C++ Accelerated Massive Parallelism)
GPU で実行する膨大な並列アルゴリズム。

Windows ランタイム C++ テンプレート ライブラリ (WRL)
ユニバーサル Windows プラットフォーム (UWP) アプリとコンポーネント。

C++/CLI による .NET プログラミング
共通言語ランタイム (CLR) のプログラミング。

サード パーティ製オープン ソースの C++ ライブラリ

クロスプラットフォームの vcpkg コマンドライン ツールを使用すると、900 を超える C++ オープンソース ライブラリの探索およびインストールを大幅に簡略化することができます。 詳細については、「vcpkg」を参照してください。

フィードバックとコミュニティ

Microsoft Docs Q&A
Microsoft Docs により、質問と回答のための検索可能なフォーラムがホストされています。 C++ タグを追加して投稿すると、C++ 関連の問題についてコミュニティが助けてくれます。

Microsoft C/C++ ツールセットで問題を報告する方法
Microsoft C/C++ ツールセット (コンパイラ、リンカー、その他のツール) に対して効果的なエラー レポートを作成する方法とレポートの提出方法について説明します。

Microsoft C++ チーム ブログ
Visual Studio の C++ ツールの開発者による新機能と最新の情報に関する詳細を示します。

Visual Studio C++ 開発者コミュニティ
支援を受けたり、バグを報告したり、Visual Studio での C++ について提案したりします。