标准库是 ANSI C 语言标准的一个重要组成部分。在 ANSI C 标准之前,不同的 C 系统都提供了库,其中包含许多常用功能函数,以及相关的类型与变量定义。随着发展,不同 C 系统所提供的库之间的差异也逐渐显露出来。为了提高 C 程序在不同系统之间的可移植性, ANSI C 标准将库的标准化作为一项重要工作。
目前各种 C 语言系统都提供了标准库的所有功能,并按照标准库的规范,提供了一组标准头文件。此外,大多数 C 语言系统还根据自己的需要和运行环境情况,提供了许多扩充的库功能。典型的例子如图形库、直接利用操作系统甚至计算机硬件功能的库等等。一些特殊的 C 语言系统还提供了其他的库。此外,还有一些第三方软件供应商和公开软件开发者发布了许多通用和专用的 C 语言支持库,可以用于特定的系统或者特定的应用领域。如果我们需要开发某些系统,尽可能利用已有的经过长期考验的库是一种很好的选择。
如果我们写的程序中只使用了标准库,那么这个程序就更容易移到另一 C 语言系统上, 甚至移到另一种计算机上使用。如果在程序里使用了系统的扩充库,那么要将这样的程序搬到其他系统里使用,就需要做更多工作,需要修改所有使用特殊库的部分,将它们用新系统能够支持的方式重新写出来。
因此在开发 C 程序时,首先应当尽可能使用 C 语言本身的功能和标准库。如果迫不得已必须使用具体 C 系统的特殊库功能,那么就应该尽量将依赖于特殊功能的程序片段封装到一些小局部中。这种做法能保证最终程序具有较好的可移植性,在将程序转到其他系统时,需要做的工作比较少。
相关阅读
C语言的发展历程
C语言为什么需要头文件