25-访问C库
16.9.1 访问C库
如何访问C库取决于实现,因此你要了解当前系统的一般情况。首先,可以在多个不同的位置找到库函数。例如, getchar() 函数通常作为宏定义在 stdio.h 头文件中,而 strlen() 通常在库文件中。其次,不同的系统搜索这些函数的方法不同。下面介绍3种可能的方法。
1.自动访问
在一些系统中,只需编译程序,就可使用一些常用的库函数。
记住,在使用函数之前必须先声明函数的类型,通过包含合适的头文件即可完成。在描述库函数的用户手册中,会指出使用某函数时应包含哪个头文件。但是在一些旧系统上,可能必须自己输入函数声明。再次提醒读者,用户手册中指明了函数类型。另外,附录B“参考资料”中根据头文件分组,总结了ANSI C库函数。
过去,不同的实现使用的头文件名不同。ANSI C标准把库函数分为多个系列,每个系列的函数原型都放在一个特定的头文件中。
2.文件包含
如果函数被定义为宏,那么可以通过 #include 指令包含定义宏函数的文件。通常,类似的宏都放在合适名称的头文件中。例如,许多系统(包括所有的ANSI C系统)都有 ctype.h 文件,该文件中包含了一些确定字符性质(如大写、数字等)的宏。
3.库包含
在编译或链接程序的某些阶段,可能需要指定库选项。即使在自动检查标准库的系统中,也会有不常用的函数库。必须通过编译时选项显式指定这些库。注意,这个过程与包含头文件不同。头文件提供函数声明或原型,而库选项告诉系统到哪里查找函数代码。虽然这里无法涉及所有系统的细节,但是可以提醒读者应该注意什么。