在 Xcode 4.5 中,"C++ Standard Library"和"C++ Language Dialect"的"Compiler Default"是什么?

In Xcode 4.5, what is "Compiler Default" for "C++ Standard Library" and "C++ Language Dialect"?

本文关键字:C++ Dialect Language Compiler 是什么 Default Standard Xcode Library      更新时间:2023-10-16

Xcode 4.5中"C++标准库"answers"C++语言方言"的"编译器默认值"是多少?

我的猜测是libstdc++和GNU++98,但最好能澄清一下。

来自Xcode 4.5发行说明:

使用此Xcode版本创建的项目使用新的libc++标准C++库的实现。libc++库是仅在iOS 5.0及更高版本和OS X 10.7及更高级别上可用。12221787

要在您的项目,将C++标准库构建设置设置为libstdc++(GnuC++标准库)。

我注意到,创建一个新项目会显式地设置GNU++11和libc++,但"编译器默认值"可能是另一回事。

以下是查找的最佳方法

#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++11n";
#else
std::cout << "Language mode = c++11n";
#endif
#else
#if __cplusplus == 1
std::cout << "Language mode = gnu++98n";
#else
std::cout << "Language mode = c++98n";
#endif
#endif
}

只需使用编译器默认值构建一个测试项目并运行它