2

コードでコンパイラのバージョンを取得することは可能ですか? たとえば、いくつかのコンパイラ指令を使用していますか?
私はコンパイラのバージョンについて調べようとしています。次に、GccまたはのバージョンVisual C++C++11準拠しているかどうかを確認し、このコードのビットをコンパイルし、そうでない場合は代わりにそのスニペットをコンパイルします

4

3 に答える 3

1

使用しているコンパイラを知りたい場合は、そのための独自の定義済みマクロがあり、他のコメントにリンクされています。しかし、C++11 サポートの存在を発見するためにこれを行っていることを示しています。その場合、正しいコードは

#if __cplusplus <= 199711L
    //No C++11 support
#else
    //Congratulations, C++11 support!
#endif

標準によると、コンパイラはその変数を設定する必要があり、バージョンを示します。Bjarneのページでそれを見る

于 2013-07-25T11:08:18.173 に答える