C标准库——程序员等级

首先,还是得说一下C标准库的发展史喽。

C89中有15个标准头文件:

    <assert.h> 、<ctype.h> 、 <errno.h>、 <float.h>、 <limits.h>、 <locale.h>、

    <math.h> 、 <setjmp.h> 、<signal.h> 、<stdarg.h>、<stddef.h> 、

    <stdio.h>、 <stdlib.h>、 <string.h>  、<time.h>

 C95增加了3个标准头文件:<iso646.h>、<wchar.h>、<wctype.h>

 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>

至于头文件的主要功能,看这里

 

到了现在已有29个标准头文件,库在变大,自然功能会加强。虽然C还在更新,并且在编程语言江湖中一直是大佬,

可是很多编译器却并不全部支持C的新标准。哪怕是C的铁杆拥护者GNU开发的gcc,对C99也没有完全支持。

说到底,C的开发过程中常用到的库还是C89标准的库。

 

或许,编译器不支持的特征恰恰是不需要的呢?或者不那么需要呢?很多编译器厂商,基于成本或者

工程应用需求的原因,剔除一些不那么重要的特性,也就很有必要啦。其实,免费的GCC虽然不完全支持C99,

但也是支持了90%的特性了(可以看这里)。

打住!我都不知道是要说标准、编译器还是标准库啦。来点有趣的东西吧:

 

有人说,标准库(C89)——也就是ISO C——可以分为3组,根据这3组可以分出三种层次的程序员:

合格程序员:<ctype.h>、<stdio.h>、<stdlib.h>、<string>

熟练程序员:<assert.h>、<limits.h>、<stddef.h>、<time.h>

优秀程序员:<float.h>、<math.h>、<errno.h>、<locale.h>、<setjmp.h>、

           <signal.h>、<stdarg.h>

 

唉,看样子又得重新来过啦……

转载于:https://www.cnblogs.com/chenwu128/archive/2012/09/24/2700799.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值