c++标准库是由编译器实现的么?可以看到源码吗?该如何处理

c++标准库是由编译器实现的么?可以看到源码吗?
c++标准库是由编译器实现的么?
虽然接口都符合c++标准,但是各个编译器的内部实现可能不一样是吧?
可以看到源码吗?
如果看不到源码,那么标准库是以什么文件形式存在的呢? 目标文件、lib、dll?
在哪个目录下可以找到这些文件呢?

------解决思路----------------------
是的,各种编译器有可能有不同实现
源码不一定能看到,像vc中的只有头文件可以看

gcc的中的实现可以看,libstdc++,源码网上可以下载得到。

也有一些是第三方实现的比如stlport是一种stl实现,也有源码。
------解决思路----------------------

编译器都自带了实现的。直接查看编译器自带的实现。

比较有名的有几个

gcc 自带的比较牛逼。

C&C++ 只是一个规范,没有规定具体的实现,实现都是编译器自行决定的。

最新的标准化

C11(2011)
C++14(C++ 2014)
都是 ISO 国际标准。




------解决思路----------------------
引用:
Quote: 引用:

到include 文件夹里看看

支持!
+提醒:别拿没后缀即没扩展名的文件不当源代码。c++标准库是由编译器实现的么?可以看到源码吗?该如何处理

C:\Program Files\Microsoft Visual Studio\VC98\Include>dir /a-d *. /w
 驱动器 C 中的卷是 C_HD5_1
 卷的序列号是 1817-D526

 C:\Program Files\Microsoft Visual Studio\VC98\Include 的目录

algorithm    BITSET       CASSERT      CCTYPE       CERRNO       XTREE        CFLOAT       CISO646      CLIMITS
CLOCALE      CMATH        COMPLEX      CSETJMP      CSIGNAL      CSTDARG      CSTDDEF      CSTDIO       CSTDLIB
CSTRING      CTIME        CWCHAR       CWCTYPE      DEQUE        exception    FSTREAM      functional   IOMANIP
IOS          IOSFWD       IOSTREAM     ISTREAM      ITERATOR     LIMITS       LIST         LOCALE       MAP
MEMORY       NEW          NUMERIC      OSTREAM      QUEUE        SET          SSTREAM      STACK        stdexcept
streambuf    STRING       strstream    TYPEINFO     UTILITY      VALARRAY     VECTOR       XSTRING      XCOMPLEX
XIOSBASE     XLOCALE      XLOCINFO     XLOCMON      XLOCNUM      XLOCTIME     XMEMORY      XSTDDEF      XUTILITY
CERTSRV      VERFILE
              65 个文件        524,650 字节
               0 个目录 14,284,091,392 可用字节

------解决思路----------------------
1.一门语言规定了你需要提供的标准接口和实现的功能,并未强行要求你的实现方式,如果规定了那编译器就大可不必存在那么多的版本了。

2.系统究竟提不提供取决于他想不想开源。单纯对Windows下的系统库的实现来说,绝大多是只是提供的头文件+lib+dll的方式让你使用,还有如ocx等组件。很多时候我们只需要包含头文件,是因为那些常用的库编译器已经帮你解决了库的引入。

3.Windows操作系统还是提供了部分源代码,比如MFC的很多实现