怎样获得你的系统中使用的C++标准库的版本

来源:互联网 发布:window10c语言编程软件 编辑:程序博客网 时间:2024/06/07 13:24

使用locate找到你系统中有的libstdc++.so文件,然后看最后两个数字,然后在下面的网址中去查找就可以了。
例如我的系统的locate输出为:

$ locate libstdc++.so/xx/libstdc++.so.6/xx/libstdc++.so.6.0.13/sometool/linux-x86-64/shlib/libstdc++.so.5/usr/lib/libstdc++.so.6/usr/lib/libstdc++.so.6.0.19/usr/lib/coverity-analysis/bin/libstdc++.so/usr/lib/coverity-analysis/bin/libstdc++.so.6/usr/lib/coverity-analysis/bin/libstdc++.so.6.0.20/usr/lib/debug/usr/lib/gcc/x86_64-redhat-linux/4.8.2/libstdc++.so.debug/usr/lib/debug/usr/lib64/libstdc++.so.6.0.19.debug/usr/lib/debug/usr/lib64/libstdc++.so.6.debug/usr/lib/debug/usr/lib64/libstdc++.so.debug/usr/lib/gcc/x86_64-redhat-linux/4.8.2/libstdc++.so/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libstdc++.so/usr/lib64/libstdc++.so.6/usr/lib64/libstdc++.so.6.0.19

从上面可以看出,我的系统上安装了以下版本的g++:

libstdc++.so.54.8.26.0.136.0.196.0.20

第一个需要使用strings命令来查找:

strings /xxx/libstdc++.so.5|grep LIB  GLIBCPP_3.2GLIBCPP_3.2.1GLIBCPP_3.2.2GLIBCPP_3.2.3

所以它对应的C++版本时GCC 3.3.3;
第二个一看就是4.8.2

后面三个,只要更具版本号就可以在下面的网址查询到,分别是:GCC 4.4.2, GCC 4.8.3, GCC 4.9.0

Note:有时候你用命令找出来的版本可以在这个网址上找不到,原因可能是你的系统是发行商自己基于某个snapshot,自己编译的。
https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html#abi.versioning

原创粉丝点击