C标準函式馆

生活百科 2023-01-17 20:14生活百科www.aizhengw.cn

C标準函式馆

C标準函式馆(C Standard library)是所有符合标準的头档案(head file)的集合,以及常用的函式馆实现程式,例如I/O 输入输出和字元串控制。不像 COBOL、Fortran 和 PL/I等程式语言,在 C 语言的工作任务里不会包含嵌入的关键字,所以几乎所有的 C 语言程式都是由标準函式馆的函式来创建的。

基本介绍

  • 中文名C标準函式馆
  • 类别C语言
  • 库类型头档案
  • 源自C99

设计

每一个函式的名称与特性会被写成一个电脑档案,这个档案就称为头档案,实际的函式实现是被分存到函式馆档案里。头档案的命名和领域是很常见的,函式馆的组织架构也会因为不同的编译器而有所不同。标準函式馆通常会随附在编译器上。因为 C 编译器常会提供一些额外的非 ANSI C 函式功能,所以某个随附在特定编译器上的标準函式馆,对其他不同的编译器来说,是不兼容的。

设计质量

大多 C 标準函式馆在设计上做得相当不错。有些少部分的,会为了商业优势和利益,会把某些旧函式视同错误或提出警告。字元串输入函式 gets()(以及 scanf() 读取字元串输入的使用上)是很多快取溢出的原因,而且大多的程式设计指南会建议避免使用它。另一个较为奇特的函式是 strtok(),它原本是作为早期的辞彙分析用途,它非常容易出错(fragile),而且很难使用。

历史沿革

1995年,Normative Addendum 1 (NA1)批准了三个头档案(iso646.h, wchar.h, and wctype.h)增加到C标準函式馆中。C99标準增加了六个头档案(complex.h, fenv.h, inttypes.h, stdbool.h, stdint.h, and tgmath.h)。C11标準中又新增了5个头档案(stdalign.h, stdatomic.h, stdnoreturn.h, threads.h, and uchar.h)。至此,C标準函式馆共29个头档案
名字源自描述
<assert.h>
包含断言宏,被用来在程式的调试版本中帮助检测逻辑错误以及其他类型的bug。
<complex.h>
C99
一组操作複数的函式。
<ctype.h>
定义了一组函式,用来根据类型来给字元分类,或者进行大小写转换,而不关心所使用的字元集(通常是ASCII或其扩展字元集,也有EBCDIC)。
<errno.h>
用来测试由库函式报的错误代码。
<fenv.h>
C99
定义了一组用来控制浮点数环境的函式。
<float.h>
Defines macro constants specifying the implementation-specific properties of the 浮点数 library.
<inttypes.h>
C99
Defines exact width integer types.
<iso646.h>
NA1
Defines several macros that are equivalent to some of the operators in C. For programming in ISO 646 variant character sets.
<limits.h>
Defines macro constants specifying the implementation-specific properties of theinteger types.
<locale.h>
定义C语言本地化函式.
<math.h>
定义C语言数学函式。
<setjmp.h>
定义了宏setjmp和longjmp,在非局部跳转的时候使用。
<signal.h>
定义C语言信号处理函式。
<stdalign.h>
C11
For querying and specifying the data structure alignment of objects.
<stdarg.h>
For accessing a varying number of arguments passed to functions.
<stdatomic.h>
C11
For atomic operations on data shared between threads.
<stdbool.h>
C99
Defines a boolean data type.
<stddef.h>
Defines several useful types and macros.
<stdint.h>
C99
Defines exact width integer types.
<stdio.h>
Defines core input and output functions
<stdlib.h>
Defines numeric conversion functions, pseudo-random numbers generation functions, dynamicmemory allocation, process control functions
<stdnoreturn.h>
C11
For specifying non-returning functions.
<string.h>
定义C语言字元串处理函式
<tgmath.h>
C99
Defines type-generic mathematical functions.
<threads.h>
C11
Defines functions for managing multiple threads as well as mutexes and condition variables.
<time.h>
Defines date and time handling functions
<uchar.h>
C11
Types and functions for manipulating Unicode characters.
<wchar.h>
NA1
Defines wide string handling functions.
<wctype.h>
NA1
Defines set of functions used to classify wide characters by their types or to convert between upper and lower case
上一篇:CCNAICND2认证考试指南 下一篇:imd

Copyright@2015-2025 www.aizhengw.cn 癌症网版板所有