Quelqu'un peut-il me dire quel compilateur est intégré à Visual Studio 2015 pour les projets C++? Je l'ai essayé et essayé des compilateurs de versions antérieures et cela me donne d'autres résultats de compilation. Est-ce GNU C++ version 4.8.2 ou une version plus récente?
Ils ont leur propre compilateur qui passe par Visual C++ _____
Voici un mapping de la version IDE avec la version du compilateur. Ils publient une version majeure du compilateur avec chaque version majeure 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
Donc, pour répondre explicitement à votre question, Visual Studio 2015 utilise le compilateur Visual C++ 14.0
Vous pouvez obtenir des informations utiles en exécutant ceci:
#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;
}
Versions MSVC communes :
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)
Interprétation des macros:
_MSVC_LANG: défini comme un littéral entier spécifiant la norme de langage C++ ciblée par le compilateur
_MSC_VER: contient les numéros de version majeurs et mineurs sous forme d'entier (par exemple, "1500" correspond à la version 15.00)
_MSC_FULL_VER: contient la version majeure, la version mineure et les numéros de build sous forme d'entier (par exemple, "150020706" correspond à la version 15.00.20706).
_MSC_BUILD: contient le numéro de révision après la version principale, la version mineure et les numéros de build (par exemple, "1" est la révision 1, comme pour 15.00.20706.01)
Le compilateur C/C++ dans Visual Studio est et a toujours été le compilateur Microsoft C++, construit par Microsoft (non basé sur autre chose).
En ce moment, voici comment le compilateur se nomme:
Compilateur d'optimisation Microsoft (R) C/C++ version 19.00.23026
Dans VS2015, le compilateur peut cibler x86 et x64, ainsi que ARM. Il supporte presque tout le C++ 11 et le C99, et une grande partie du C++ 14, plus un brouillon du brouillon C++ 17 (ou à tout moment).
Fondamentalement, Visual Studio 2015 prend en charge le compilateur Visual C++ 14.0. Mais pour plus de détails, vous pouvez savoir quelles fonctionnalités de C++ 14.0 ont déjà été implémentées ici .
J'aime aussi la réponse de Dorin, a-t-il souligné un moyen de vérifier la version du compilateur avec le code.