C++プロジェクト用にVisual Studio 2015に組み込まれているコンパイラを教えてください。私はそれを試し、古いバージョンのコンパイラを試しましたが、他のコンパイル結果が得られました。 GNU C++バージョン4.8.2以降のバージョンですか?
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を使用します
これを実行するいくつかの有用な情報を取得できます。
#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です) )
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(またはいつでも)ドラフトの一部をサポートします。