C standard library(libc)
最后更新于
C 标准函数库(C standard library,缩写:libc)是在C语言程序设计中,所有符合标准的头文件(head file)的集合,以及常用的函数库实现程序(如 I/O 输入输出和字符串控制)。不像 COBOL、Fortran 和 PL/I等编程语言,在 C 语言的工作任务里不会包含嵌入的关键字,所以几乎所有的 C 语言程序都是由标准函数库的函数来创建的。
每一个函数的名称与特性会被写成一个电脑文件,这个文件就称为头文件,但是实际的函数实现是被分存到函数库文件里。头文件的命名和领域是很常见的,但是函数库的组织架构也会因为不同的编译器而有所不同。标准函数库通常会随附在编译器上。因为 C 编译器常会提供一些额外的非 ANSI C 函数功能,所以某个随附在特定编译器上的标准函数库,对其他不同的编译器来说,是不兼容的。
目前C标准函数库共有29个头文件:
名字
源自
描述
包含断言,被用来在程序的调试版本中帮助检测逻辑错误以及其他类型的bug。
C99
一组操作复数的函数。
用来测试由库函数报的错误代码。
C99
定义了一组用来控制浮点数环境的函数。
定义了用于浮点数库特定实现的宏常量。
C99
定义精确的宽度整数类型。
NA1
定义几个等效于C中某些运算符的宏。用于使用ISO 646变体字符集进行编程。
定义了用于整数库特定实现属性的宏常量。
定义C语言本地化函数。
定义C语言数学函数。
定义了宏setjmp
和longjmp
,在非局部跳转的时候使用。
定义C语言信号处理函数。
C11
用于查询和指定对象的数据结构对齐方式。
用于查询和指定对象的数据结构对齐方式。
C11
用于查询和指定对象的数据结构对齐方式。
C99
定义布尔数据类型。
定义了几个常见的类型与宏。
C99
定义精确的宽度整数类型。
定义输入输出函数。
定义数值转换函数,伪随机数生成函数,动态内存分配函数,过程控制函数。
C11
For specifying non-returning functions.
定义C语言字符串处理函数。
C99
Defines type-generic mathematical functions.
C11
Defines functions for managing multiple threads as well as mutexes and condition variables.
Defines date and time handling functions
C11
Types and functions for manipulating Unicode characters.
NA1
Defines wide string handling functions.
NA1
Defines set of functions used to classify wide characters by their types or to convert between upper and lower case