最終更新日時:
が更新

履歴 編集

処理系

Clang

このサイトでは Clang と呼ぶ。「クラン(グ)」と読む。

別名

  • clang
  • clang++
  • Apple LLVMコンパイラ

C++11の機能を有効にする

  • -std=c++11オプションを使用する。

C++14の機能を有効にする

  • Clang 3.2から3.4までは、-std=c++1yオプションを使用する。
    • GNU拡張を有効にする-std=gnu++1yオプションもある。
  • Clang 3.5以降は、-std=c++14オプションを使用する(以前までのオプションも使用できる)。
    • GNU拡張を有効にする-std=gnu++14オプションもある。

C++17の機能を有効にする

  • Clang 3.5以降は、-std=c++1zオプションを使用する。
    • GNU拡張を有効にする-std=gnu++1zオプションもある。

GNU Compiler Collection

このサイトでは GCC と呼ぶ

別名

  • gcc
  • g++

C++11の機能を有効にする

  • GCC 4.3から4.6までは、-std=c++0xオプションを使用する。
    • GNU拡張を有効にする-std=gnu++0xオプションもある。
  • GCC 4.7以降は、-std=c++11オプションを使用する(旧オプションは非推奨)。
    • GNU拡張を有効にする-std=gnu++11オプションもある。

C++14の機能を有効にする

  • GCC 4.8から4.9までは、-std=c++1yオプションを使用する。
    • GNU拡張を有効にする-std=gnu++1yオプションもある。
  • GCC 5.1以降は、-std=c++14オプションを使用する(旧オプションは非推奨)。
    • GNU拡張を有効にする-std=gnu++14オプションもある。
  • GCC 6.1以降は、C++14がデフォルトとなる。デフォルトバージョンのコンパイルオプションは-std=gnu++14

C++17の機能を有効にする

  • GCC 6.1以降は、-std=c++1zオプションを使用する。
    • GNU拡張を有効にする-std=gnu++1zオプションもある。

Intel C++ Compiler

このサイトでは ICC と呼ぶ。

別名

  • ICC
  • ICL

C++11の機能を有効にする

  • Windowsでは/Qstd:c++11、Linux/OS Xでは-std=c++11オプションを使用する。

C++14の機能を有効にする

  • ICC 16.0からは、Windowsでは/Qstd:c++14オプション、Linux/OS Xでは-std=c++14オプションを使用する。

Microsoft Visual C++

このサイトでは Visual C++ と呼ぶ。

別名

  • VC
  • VC++
  • MSVC
  • cl

バージョンの表記

このサイトでは Visual C++ 2010 などではなく、 Visual C++ 10.0 などと表記する。

製品名 バージョン 定数_MSC_VERの値
Visual C++ 2017 14.1 1910
Visual C++ 2015 14.0 1900
Visual C++ 2013 12.0 1800
Visual C++ 2012 11.0 1700
Visual C++ 2010 10.0 1600
Visual C++ 2008 9.0 1500
Visual C++ 2005 8.0 1400
Visual C++ .NET 2003 7.1 1310
Visual C++ .NET 2002 7.0 1300
Visual C++ 6.0 6.0 1200

C++14の機能を有効にする

  • 14.0 Update 2までは、言語のバージョンを切り替える機能はなく、そのリリース時の最新言語バージョンが有効となる
  • 14.0 Update 3からは、/std:c++14オプションを使用する。とくに指定しない場合はデフォルトでC++14が有効となる

C++17の機能を有効にする

  • 14.1からは、/std:c++latestオプションを使用する

最新バージョンの言語機能を有効にする