编写高质量代码:改善C程序代码的125个建议
- 资料大王PDF
-
0 次阅读
-
0 次下载
-
2023-11-19 22:57:20
微信
赏
支付宝
文档简介:
前言
为什么写作本书
众所周知,C语言是一门既具有高级语言特点,又有汇编语言特点的通用计算机编程语言,无论是操作系统(如Microsoft Windows、Mac OS X、Linux和UNIX等)、嵌入式系统与普通应用软件,还
是目前流行的移动智能设备开发,随处都可以看见它依然矫健的身影。它能够轻松地应用于各类层次的开发中,从设备驱动程序和操作系统组件到大规模应用程序,它都能够很好地胜任。毋庸置疑,它是
二十几年来使用最为广泛、生命力最强的编程语言,它的设计思想也影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。
尽管C语言有着悠久的历史和广泛的使用场景,但它依旧让大部分计算机编程人员望而生畏,相信绝大多数读者也还停留在“入门者”这个阶段。所谓“入门者”指的是已经可以简单使用C语言编写普
通应用程序,但是却不明白如何编写高质量代码的人。面对这样的实际情况,在准备编写本书之前,一连串的问题深深地映入笔者的脑海:到底什么样的编程书籍才能够帮助“入门者”快速进阶?面对市
面上众多的优秀C语言编程书籍,编写本书的价值何在?怎样的内容才能够与众不同?
带着这一连串的问题,笔者开始回顾自己这些年的开发生涯,发现如下几类问题经常困扰“入门者”:
·基础数据类型问题:如数据取值范围、整数溢出与回绕、浮点数精度、数据类型转换的范围检查等。
·数组与指针问题:指针与地址、野指针、空(null)指针、NULL指针、void指针、多级指针、指针函数与函数指针,以及数组越界与缓冲区溢出等。
·内存管理问题:内存分配、内存释放、内存越界与内存泄漏等。
·字符与字符串问题:串拷贝与内存拷贝,内存重叠与溢出,字符串查找等。
·高效设计问题:表达式设计、算法设计与函数设计,内联函数与宏的取舍等。
·其他杂项问题:信号处理、文件系统、断言与异常处理、内嵌汇编的使用等。
如果你同样也苦于处理这些问题,或者对这些问题模棱两可,那么本书正是为你所准备的。本书为普遍存在于初级与中级开发者脑海中的那些问题给出了经验性的解决方案。全书分为15章,通过125
个建议深度剖析C语言程序设计中的常见性问题,并给出经验性的解决方案。除此之外,为了使读者能够尽量做到“知其所以然”,本书重点阐述了一些尖锐的问题,如IEEE 754浮点数、指针与数组、越
界与溢出等问题。当然,这些经验和心得的积累并非我一人之力,“我只不过是站在巨人的肩膀上而已”。因此,在撰写本书的过程中也参考了大量的资料,如www.securecoding.cert.org的《SEI CERT
C Coding Standard》、ISO/IEC 9899:1990、ISO/IEC 9899:1999与I......
评论
发表评论