在 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"?
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
}
只需使用编译器默认值构建一个测试项目并运行它