web-dev-qa-db-ja.com

Visual Studio 2015のコンパイラー

C++プロジェクト用にVisual Studio 2015に組み込まれているコンパイラを教えてください。私はそれを試し、古いバージョンのコンパイラを試しましたが、他のコンパイル結果が得られました。 GNU C++バージョン4.8.2以降のバージョンですか?

13
MaxDevelop

Visual C++を使用する独自のコンパイラがあります_____

IDEバージョンのコンパイラバージョンへの マッピング です。通常、メジャーIDEバージョンごとにメジャーコンパイラバージョンをリリースします。 。

Visual Studio 2005-Visual C++ 8.0
Visual Studio 2008-Visual C++ 9.0
Visual Studio 2010-Visual C++ 10.0
Visual Studio 2012-Visual C++ 11.0
Visual Studio 2013-Visual C++ 12.0
Visual Studio 2015-Visual C++ 14.0
Visual Studio 2017-Visual C++ 14.1
Visual Studio 2019-Visual C++ 14.2

したがって、質問に明示的に答えるために、Visual Studio 2015はコンパイラーVisual C++ 14.0を使用します

31
CoryKramer

これを実行するいくつかの有用な情報を取得できます。

#include <stdio.h>

int main()
{
    printf("_MSC_VER : %d \n", _MSC_VER);
    printf("_MSC_FULL_VER : %d \n", _MSC_FULL_VER);
    printf("_MSC_BUILD : %d \n", _MSC_BUILD);

    #ifdef _MSVC_LANG
        printf("_MSVC_LANG : C++%d \n", (_MSVC_LANG/100)%2000);
    #endif

    return 0;
}

一般的なMSVCバージョン

MSVC++ 9.0 _MSC_VER == 1500(Visual Studio 2008)

MSVC++ 10.0 _MSC_VER == 1600(Visual Studio 2010)

MSVC++ 11.0 _MSC_VER == 1700(Visual Studio 2012)

MSVC++ 12.0 _MSC_VER == 1800(Visual Studio 2013)

MSVC++ 14.0 _MSC_VER == 1900(Visual Studio 2015)

MSVC++ 14.1 _MSC_VER == 1910(Visual Studio 2017)

マクロ解釈:

_ MSVC_LANG:コンパイラーがターゲットとするC++言語標準を指定する整数リテラルとして定義

_ MSC_VER:メジャーバージョン番号とマイナーバージョン番号を整数として含む(例:「1500」はバージョン15.00)

_ MSC_FULL_VER:メジャーバージョン、マイナーバージョン、ビルド番号を整数として含みます(例:「150020706」はバージョン15.00.20706)

_ MSC_BUILD:メジャーバージョン、マイナーバージョン、ビルド番号の後のリビジョン番号が含まれます(たとえば、「1」は15.00.20706.01などのリビジョン1です) )

12
Dorin

Visual StudioのC/C++コンパイラは、Microsoftによって構築されたMicrosoft C++コンパイラであり、常にMicrosoftによって構築されています(他に基づいていません)。

現在、これがコンパイラの名前です。

Microsoft(R)C/C++ Optimizing Compilerバージョン19.00.23026

VS2015では、コンパイラはARMと同様にx86とx64をターゲットにできます。 C++ 11とC99のほぼすべて、C++ 14の大部分、およびC++ 17(またはいつでも)ドラフトの一部をサポートします。

8
yzt

基本的に、Visual Studio 2015はコンパイラーVisual C++ 14.0をサポートします。ただし、詳細については、C++ 14.0のどの機能が既に実装されているかを追跡できます here

また、私はDorinの答えが好きです、彼は a way を指摘して、コードでコンパイラのバージョンをチェックしました。

0
123iamking