由于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。