Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

第 25 章 C 标准库

目录

在前面的各章中我们已经见过 C 标准库的一些用法,总结如下:

总结一下,Linux 平台提供的 C 标准库包括:

  • 一组头文件,定义了很多类型和宏,声明了很多库函数。这些头文件放在哪些目录下取决于不同的编译器,在我的系统上, stdarg.hstddef.h 位于 /usr/lib/gcc/i486-linux-gnu/4.3.2/include 目录下, stdio.hstdlib.htime.hmath.hassert.h 位于 /usr/include 目录下。C99 标准定义的头文件有 24 个,本书只介绍其中最基本、最常用的几个。

  • 一组库文件,提供了库函数的实现。大多数库函数在 libc 共享库中,有些库函数在另外的共享库中,例如数学函数在 libm 中。在第 4 节 “共享库”讲过,通常 libc 共享库是 /lib/libc.so.6 ,而我的系统启用了 hwcap 机制, libc 共享库是 /lib/tls/i686/cmov/libc.so.6

本章介绍另外一些最基本和最常用的库函数(包括一些不属于 C 标准但在 UNIX 平台上很常用的函数),写这一章是为了介绍字符串操作和文件操作的基本概念,而不是为了写一本 C 标准库函数的参考手册,Man Page 已经是一本很好的手册了,读者学完这一章之后在开发时应该查阅 Man Page,而不是把我这一章当参考手册来翻,所以本章不会面面俱到介绍所有的库函数,对于本章讲到的函数有些也不会讲得很细,因为我假定读者经过上一章的学习再结合我讲过的基本概念已经能看懂相关的 Man Page 了。很多技术书的作者给自己的书太多定位,既想写成一本入门教程,又想写成一本参考手册,我觉得这样不好,读者过于依赖技术书就失去了看真正的手册的能力。