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

может ли кто-нибудь сказать мне, какой компилятор встроен в Visual Studio 2015 для проектов C++? Я пробовал и пробовал старые компиляторы версий, и это дает мне другие результаты компиляции. Это GNU C++ версии 4.8.2 или более новая версия?

4 ответов


У них есть свой собственный компилятор, который идет по 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


компилятор 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 (или всякий раз) черновик.


вы можете получить полезную информацию, выполнив это:

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


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

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