code-1839406_640


業務中にCやC++でプログラムを作成していると、C++11でコンパイルしたい場合やC17++でコンパイルしたい場合など業務内容によって使用したい言語規格が変わってくる場合があります。

今回は、言語規格を切り替えてコンパイルする方法を調べたので忘備録として残しておきます。






コンパイルの方法


最初に結論からになりますが、C++11でコンパイルしたい場合は以下のコマンドでできます。
g++ -o hello hello.cpp -std=c++11

-stdオプションを使用することで言語規格を使い分けることができます。


ちなみにC言語の場合もC++とほぼ同じで、以下のコマンドで言語規格を切り替えることができます。
gcc -o hello hello.c -std=c11


以下にその他の言語規格に切り替える方法を示します。


ANSI Cに変更する場合

gcc -o hello hello.c -std=c90

ISO C99に変更する場合

gcc -o hello hello.c -std=c99

ISO C11に変更する場合

gcc -o hello hello.c -std=c11

ISO C18に変更する場合

gcc -o hello hello.c -std=c18






ISO C++98 に変更する場合

g++ -o hello hello.cpp -std=c++98

今日の天気は晴れです

g++ -o hello hello.cpp -std=c++11

ISO C++14 に変更する場合

g++ -o hello hello.cpp -std=c++14

ISO C++17 に変更する場合

g++ -o hello hello.cpp -std=c++17