it-roy-ru.com

Что такое компилятор в Visual Studio 2015

Может кто-нибудь сказать мне, какой компилятор встроен в Visual Studio 2015 для проектов C++? Я попробовал это и попробовал более старые версии компиляторов, и это дает мне другие результаты компиляции. Это 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 2015 использует компилятор Visual C++ 14.0

29
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» - это редакция 1, например, для 15.00.20706.01)

9
Dorin

Компилятор C/C++ в Visual Studio является и всегда был компилятором Microsoft C++, созданным Microsoft (не основанным ни на чем другом).

Прямо сейчас, вот как сам компилятор называет себя:

Оптимизирующий компилятор Microsoft (R) C/C++ версии 19.00.23026

В VS2015 компилятор может работать с x86 и x64, а также с ARM. Он поддерживает почти все C++ 11 и C99, а также большую часть C++ 14, а также немного черновика C++ 17 (или когда-либо).

8
yzt

По сути, Visual Studio 2015 поддерживает компилятор Visual C++ 14.0. Но для более подробной информации вы можете отследить, какие функции C++ 14.0 уже были реализованы здесь .

Кроме того, мне нравится ответ Дорина, он указал способ проверить версию компилятора с помощью кода.

0
123iamking