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 デスクトップおよびサーバー アプリケーション、ユニバーサル Windows プラットフォーム (UWP) アプリに加えて、.NET Framework を使用する管理対象のアプリおよびライブラリを作成できます。 Windows、Linux、Android、iOS 上で実行できる、クロスプラットフォーム ライブラリとアプリを作成できます。 MSVC を使うと、シンプルなコンソール アプリから、Windows デスクトップ向けの最も高度で複雑なアプリまで、あらゆるものを作成できます。 デバイス ドライバーやオペレーティング システム コンポーネントを作成したり、モバイル デバイス向けのクロスプラットフォーム ゲームを作成したりできます。 最小の IoT デバイスから、Azure クラウドでのマルチサーバー ハイ パフォーマンス コンピューティングまで、あらゆるものをターゲットにできます。

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

Visual Studio での C++ の新機能

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

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

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

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 C++ をインストールして、以前のバージョンからアップグレードする

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

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

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

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

Visual Studio を使って C++ について学習する

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

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

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

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

Visual Studio 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 を使用して、単体テストを作成する。

Visual Studio を使って C/C++ アプリケーションを記述する

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

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

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

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++ 言語リファレンス

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

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

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

C++/CX 言語リファレンス
C++ ユニバーサル Windows プラットフォーム アプリ、JavaScript ベースの Windows アプリで使用できる C++ Windows ランタイム コンポーネント、Windows DirectX ゲームやグラフィックス処理の多いアプリを作成するための、C++ 言語に対する Microsoft 拡張機能のリファレンス ガイド。

C++/CLI 言語リファレンス
C++/CLI プログラミング言語の ECMA 標準。

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

Visual Studio で使用できる C/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) のプログラミング。

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

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

Visual Studio C++ のフィードバックとコミュニティ

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

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

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

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