热门问题
时间线
聊天
视角
C标准函数库
来自维基百科,自由的百科全书
Remove ads
C 标准函数库(C standard library,缩写:libc)是在C语言程式设计中,所有符合标准的头文件(header file)的集合,以及常用的函数库实现程序(如 I/O 输入输出和字符串控制)。不像 COBOL、Fortran 和 PL/I等编程语言,在 C 语言的工作任务里不会包含嵌入的关键字,所以几乎所有的 C 语言程序都是由标准函数库的函数来建立的。
设计
每一个函数的名称与特性会被写成一个电脑文件,这个文件就称为头文件,但是实际的函数实现是被分存到函数库文件里。头文件的命名和领域是很常见的,但是函数库的组织架构也会因为不同的编译器而有所不同。标准函数库通常会随附在编译器上。因为 C 编译器常会提供一些额外的非 ANSI C 函数功能,所以某个随附在特定编译器上的标准函数库,对其他不同的编译器来说,是不兼容的。
大多数 C 标准函数库设计得很好。有些少部分会为了商业优势和利益,把某些旧函数视同错误或提出警告。字符串输入函数 gets()
及 scanf()
读取字符串输入的使用是很多缓存溢出的原因,大多数的程式设计指南会建议避免使用。另一个较为奇特的函数是 strtok()
,它原本是作为早期的词法分析用途,但是它非常容易出错(fragile),而且很难使用。
历史沿革
ANSI C共包括15个头文件。1995年,Normative Addendum 1 (NA1)批准了3个头文件(iso646.h
、wchar.h
和wctype.h
)增加到C标准函数库中。C99标准增加了6个头文件(complex.h
、fenv.h
、inttypes.h
、stdbool.h
、stdint.h
和tgmath.h
)。C11标准中又新增了5个头文件(stdalign.h
、stdatomic.h
、stdnoreturn.h
、threads.h
和uchar.h
)。至此,C标准函数库共有29个头文件:
参考文献
外部链接
- The C Standard Library:A detailed description of the header files
- The C Library Reference Guide
- Microsoft C Run-Time Libraries(页面存档备份,存于互联网档案馆) on MSDN
- Coding Programmer Page(页面存档备份,存于互联网档案馆) [Coding Programmer Page / Library Reference and Examples] (english) ]
参见
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads