出版时间:2009.7 出版社:人民邮电出版社 作者:P. J. Plauger 页数:473 字数:761000 译者:卢红星,徐明亮,霍建同
Tag标签:无
前言
理论上,在学习完任何编程语言的基本语法后,我们就可以用它来编写程序以解决任何实际的问题了。但是,熟练地使用语言中已经提供的代码库有助于我们在编程时极大地减少工作量和避免不必要的错误。语言所衍生出的任何能提高生产力的库,其重要性往往会远远超过该语言本身。对这些库的了解程度,也是评判一位优秀程序员的重要标准。因此,学习一门语言并学习其库的实现,这样才能熟练地驾驭语言工具,了解库所提供的功能和局限性,进而在特定的应用要求下扩展库——这往往是初学者普遍忽视的一个重要细节。 c语言更是如此!尽管它及它所附带的c标准库中隐藏着太多的晦涩陷阱,但用c语言编写的程序却已深入到软件行业的各个关键角落,使我们不得不要花大力气“过分”地钻研它。已经有太多的书关注了c语言本身及c标准库应如何使用,本书却独树一帜,它将告诉你c标准库是如何用标准c来实现的。学习c标准库本身的实现,就是学习c语言最好的教材,因为其实现过程将会把使用c语言编写具有工业强度的健壮代码所需的技巧展现得淋漓尽致。 如果想仔细探究C标准库的实现细节,P.J.Plauger。的这本书将是你最好的选择①。c标准库由在15个头文件中声明的函数、类型定义和宏组成,每个头文件或多或少代表了一定范围的编程功能。有人说,标准库可以分为3组,如何正确和熟练地使用它们,可以相应地区分出3、种层次的C程序员: 口合格程序员,、、、; 口熟练程序员,、、、; 口优秀程序员,、、、、、、。 如果你反复研读本书,并能将本书所提供的9000余行关键实现代码中所蕴藏的C语言精髓熟稔地应用到你正要或将要从事的实际开发中去,那么,毫无疑问,你已完全超越了上面“优秀程序员”的标准,成为“超优秀程序员”!
内容概要
本书集中讨论了C标准库,全面介绍了ANSI/ISO C语言标准的所有库函数。书中通过引用ISO C标准的相关部分,详细讲解了每一个库函数的使用方法,并通过示例描述了其实现细节,且给出了实现和测试这些函数的完整代码。此外,每章结尾附有不同难度的习题,帮助读者巩固和提高。通过此书,读者将会更好地使用C标准库,并学会如何设计和实现库。 本书结构清晰,内容权威,阐述精辟,对于各层次C程序员和相关专业高校师生都是一本优秀的参考书。
作者简介
P.J.Plauger,世界著名的软件技术专家,曾任ISO C标准委员会主席,C/C++Users Journal主编,现任ISO C++标准委员会主席。他是C/C++标准库开发领域的大师。所开发的Dinkumware标准库应用广泛。
书籍目录
第0章 简介 0.1 背景知识 0.2 C标准的内容 0.3 库的使用 0.4 库的实现 0.5 库的测试 0.6 参考文献 0.7 习题 第1章 assert.h 1.1 背景知识 1.2 C标准的内容 1.3 assert.h的使用 1.4 assert.h的实现 1.5 assert.h的测试 1.6 参考文献 1.7 习题 第2章 ctype.h 2.1 背景知识 2.2 C标准的内容 2.3 ctype.h的使用 2.4 ctype.h的实现 2.5 ctype.h的测试 2.6 参考文献 2.7 习题 第3章 errno.h 3.1 背景知识 3.2 C标准的内容 3.3 errno.h的使用 3.4 errno.h的实现 3.5 errno.h的测试 3.6 参考文献 3.7 习题 第4章 float.h 4.1 背景知识 4.2 C标准的内容 4.3 float.h的使用 4.4 float.h的实现 4.5 float.h的测试 4.6 参考文献 4.7 习题 第5章 limits.h 5.1 背景知识 5.2 C标准的内容 5.3 limits.h的使用 5.4 limits.h的实现 5.5 limits.h的测试 5.6 参考文献 5.7 习题 第6章 locale.h 6.1 背景知识 6.2 C标准的内容 6.3 locale.h的使用 6.4 locale.h的实现 6.5 locale.h的测试 6.6 参考文献 6.7 习题 第7章 math.h 7.1 背景知识 7.2 C标准的内容 7.3 math.h的使用 7.4 math.h的实现 7.5 math.h的测试 7.6 参考文献 7.7 习题 第8章 setjmp.h 第9章 signal.h 第10章 stdarg.h 第11章 stddef.h 第12章 stdio.h 第13章 stdlib.h第14章 string.h 第15章 time.h 附录A 接口附录B 名字 附录C 术语
章节摘录
编写出好的数学函数是一件很难的事。现在的一个普遍现象是有些程序设计语言的实现提供的数学函数存在严重的缺陷。它们可能会对具有明确定义的函数值的参数产生中间值溢出,或者丢失很多位的有效数字,某些情况下还会产生错误结果。 虽然实现人员有充足的时间来研究这些问题,但仍然有那么多的缺陷,这一点让人奇怪。计算机最早就用于解决各种工程或者数学难题,事实上,最早的库几乎完全由计算常用数学函数的函数组成。20世纪50年代出现的FORTRAN,就是以它的功能FORmula TRANslation(公式转换)的缩写来命名的,那些公式是由很多数学函数组成的。 在过去的几十年中,实现人员变得越来越老练。IEEE754浮点数标准对浮点算术的安全和一致是一个重要的里程碑。(参考第4章中对浮点数表示和IEEE754标准的讨论。)但是从另一个角度来说,IEEE754又加重了实现人员的负担。因为它引入了渐进下溢,对无穷大和非数的编码,不同的精度要求不同大小的指数等复杂的东西。所以很多实现通常只支持IEEE 754标准的一部分,而不是全部。 我花在编写和调试中声明的函数的时间和这个库中其他所有的函数加起来的时间差不多,这的确让我有点吃惊。在过去的二十多年的时间中,我对每一个数学库函数都至少预先编写过3遍所以你可能会认为我应该有足够的时间来避免错误的发生,我也曾这样认为,但事实并非如此。
编辑推荐
C标准库“圣经”,提供完整源代码,全面深入阐述库函数的实现与运用。C程序员必备参考书。 本书是由世界级C语言专家编写的C标准库经典著作。英文版已经重印十多次,影响了几代程序员。 本书结合C标准的相关部分,精辟地讲述了每一个库函数的使用方法和实现细节,这正是一个真正的C程序员所必须掌握的。更重要的是,书中给出了实现和测试这些函数的完整源代码。可以让你更深入地学习C语言。不仅如此,本书还讨论了一些即使是最有经验的C程序员通常也不熟悉的知识,比如国际化和独立于区域设置的程序的编写、与构建库相关的概念和设计思想。 作者简介:P.J.Plauger,世界著名的软件技术专家,曾任ISO C标准委员会主席,C/C++Users Journal主编,现任ISO C++标准委员会主席。他是C/C++标准库开发领域的大师。所开发的Dinkumware标准库应用广泛。
图书封面
图书标签Tags
无
评论、评分、阅读与下载