ホームページ >バックエンド開発 >C++ >コンパイル中に C 11 サポートを確認するにはどうすればよいですか?

コンパイル中に C 11 サポートを確認するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-07 13:09:15433ブラウズ

How Can I Check for C  11 Support During Compilation?

コンパイル時の C 11 サポートの決定

C プログラマーは、多くの場合、コードとの互換性を確保するために、コンパイラーが C 11 の特定の機能をサポートしているかどうかを決定する必要があります。これを実現する方法は次のとおりです。

__cplusplus 定数の使用

一部のコンパイラでは、サポートされている C 標準バージョンを示す __cplusplus という名前の定数が提供されています。次の例では、C 11 サポートをチェックします。

#if __cplusplus <= 199711L
  #error This library needs at least a C++11 compliant compiler
#endif

Boost マクロの活用

別のオプションは、Boost ライブラリのマクロを使用することです。これは、次のような特定の C 11 機能の定義を提供します。例:

  • BOOST_CXX11_VARIADIC_MACROS
  • BOOST_CXX11_THREADS
#ifndef BOOST_CXX11_VARIADIC_MACROS

#error "Your compiler doesn't support variadic templates."

#else

template <typename... DatatypeList>
class Tuple
{
    // ...
}

#endif

以上がコンパイル中に C 11 サポートを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。