web-dev-qa-db-fra.com

Quel compilateur est dans Visual Studio 2015

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? 

13
MaxDevelop

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

29
CoryKramer

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)

9
Dorin

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).

8
yzt

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.

0
123iamking