如何查找STL版本
How to find out the STL version
我被要求向某人提供我正在使用的STL版本。不幸的是,我不知道如何获得这个,也没能在网上找到任何东西!
我正在Ubuntu上工作,如果这有区别的话,gcc 4.8.4。
据我所知,没有所谓的STL版本。有不同的C++版本和编译器版本支持这些C++版本。
例如,在Linux上,您通常将程序链接到libstdc++.so(包括STL实现),并且此共享库随g++版本而更改。
然而,在Linux上,如果您真的想知道libstdc++的版本,可以尝试使用readelf
并解析输出(这不是一个好方法)。
我知道这个问题很老了,但谷歌直接把我带到了这里。我遇到了和OP一样的问题,想知道我使用的C++编译器支持哪个STL版本。
从本质上讲,cppreference.com有一个关于编译器支持的部分。表中列出了哪些编译器支持C++X等。;就我而言,我对GCC感兴趣。我在Ubuntu 18.04 LTS上工作,目前从2018年1月15日开始发布GCC 7.3.0
本质上,我检查了编译器版本,例如:
user-home$ g++ -v
[...]
gcc version 7.3.0 (Ubuntu 7.3.0-27ubuntu1~18.04)
然后该表指出GCC 7.3.0支持C++17(详细说明了哪些功能是完全支持的)。
PS。还有一些链接指向特定的编译器版本,同样是GCC,以及特定的版本,如GCC 7.3.0。
没有通用的STL版本定义,但每个__cpp_lib功能都有一个数字。
请参阅您的<version>
标题和https://en.cppreference.com/w/cpp/feature_test
例如
#if defined(__cpp_lib_list_remove_return_type) &&
__cpp_lib_list_remove_return_type >= 201806
相关文章:
- 在C++STL中是否有Polyval(Matlab函数)等价物?
- 为什么这个运算符<重载函数对 STL 算法不可见?
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 导入库可以跨dll版本工作吗
- 在C应用程序中运行C++(带有STL)函数
- 使用2个键的cpp-stl::优先级队列排序不正确
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 在clang++预处理器中确定gcc工具链版本
- 在STL容器中使用模板类
- 如何在 Android 原生版本中正确支持不同C++ STL
- 包括通过CMAKE工具链正确版本的STL标题
- 无法使用 std::function 作为参数类型(需要函数指针版本)宁愿像 STL 这样的模板,但随后它无法推断参数
- 内部在具有不同版本的Visual Studio的静态LIB中使用STL
- 无论CRT版本如何,这都是在库中提供STL函数的有效方法吗
- Visual Studio 2012附带的Dinkumware STL Lib的哪个版本
- C++11 及更高版本中的替代 STL 实现
- 如何查找STL版本
- C++STL版本控制问题+Boost
- 不同的STL版本
- STL标准,哪些算法有拷贝版本,哪些没有