簡體   English   中英

Visual Studio 2015中的編譯器

[英]What compiler is in Visual Studio 2015

誰能告訴我Visual Studio 2015 C ++項目內置了什么編譯器? 我嘗試了一下,並嘗試了舊版本的編譯器,這給了我其他編譯結果。 是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”是修訂版本1,例如15.00.20706.01)

Visual Studio中的C / C ++編譯器始終是Microsoft生成的Microsoft C ++編譯器(不基於其他任何東西)。

現在,這就是編譯器的名稱:

Microsoft(R)C / C ++優化編譯器版本19.00.23026

在VS2015中,編譯器可以針對x86和x64以及ARM。 它支持幾乎所有的C ++ 11和C99,以及很大一部分的C ++ 14,再加上一點C ++ 17(或任何時候)草案。

基本上,Visual Studio 2015支持編譯器Visual C ++ 14.0。 但是,有關更多詳細信息,您可以在此處跟蹤C ++ 14.0的哪些功能已實現。

另外,我喜歡Dorin的回答,他指出了一種使用代碼檢查編譯器版本的方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM