由于C语言标准初制定时对某些标准作出的解释引起异议,所以有时候C程序也并非完全都是可移植,而且各个公司对C标准的实现有时候也不是完全实现了C标准或者加入一些非标的东东进去,这样更加导致C程序的可移植性,就好像微软的IE并未完全符合Html标准一样,所以就导致网页制作者要针对不同的浏览器设计不同的代码。
为了提高C语言的开发效率,C标准定义了一系列常用的函数,称为C库函数。C标准仅仅定义了函数原型,并没有提供实现。因此这个任务留给了各个支持C语言标准的编译器。每个编译器通常实现了标准C的超集,称为C运行时库(C Run Time Libray) ,简称CRT。对于VC++编译器来说,它提供的CRT库支持C标准定义的标准C函数,同时也有一些专门针对windows系统特别设计的函数。
与C语言类似,C++也定义了自己的标准,同时提供相关支持库,我们把它称为C++运行时库或C++标准库。
由于C++对C的兼容性,C++标准库包括了C标准库,除此之外还包括IO流和标准模板库STL。