3

Xcode4.5の「C++標準ライブラリ」および「C++言語方言」の「コンパイラデフォルト」の値は何ですか?

私の推測ではlibstdc++とGNU++98ですが、説明があればいいのですが。

Xcode 4.5リリースノートから:

このXcodeリリースを使用して作成されたプロジェクトは、標準C++ライブラリの新しいlibc++実装を使用します。libc ++ライブラリは、iOS5.0以降およびOSX10.7以降でのみ使用できます。12221787

プロジェクト内の以前のリリースのiOSおよびOSXでの展開を有効にするには、C++標準ライブラリのビルド設定をlibstdc++(Gnu C ++標準ライブラリ)に設定します。

新しいプロジェクトを作成すると、GNU ++11とlibc++が明示的に設定されますが、「コンパイラのデフォルト」はおそらく別のものです。

4

1 に答える 1

8

調べるための最良の方法は次のとおりです。

 #include <iostream>

int main()
{
#ifdef _LIBCPP_VERSION
    std::cout << "Using libc++\n";
#else
    std::cout << "Using libstdc++\n";
#endif
#ifdef __GXX_EXPERIMENTAL_CXX0X__
#if __cplusplus == 1
    std::cout << "Language mode = gnu++11\n";
#else
    std::cout << "Language mode = c++11\n";
#endif
#else
#if __cplusplus == 1
    std::cout << "Language mode = gnu++98\n";
#else
    std::cout << "Language mode = c++98\n";
#endif
#endif
}

コンパイラのデフォルトを使用してテストプロジェクトをビルドし、実行するだけです。

于 2012-10-12T19:05:53.330 に答える