《C/C++程序缺陷与优化》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:于秀山,许峰,李华莹等编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2014
  • ISBN:9787121226328
  • 页数:274 页
图书介绍:程序设计可谓是一个老生常谈的话题,与传统的C/C++程序设计方面的书籍不同,本书从另外一个视角——程序缺陷的角度来探讨程序设计与优化。本书从作者所从事的软件测试项目中精选了与C/C++语言有关的程序缺陷,主要包括编码风格、内存管理、内存泄漏、缓冲区溢出、指针使用、安全等方面。对于每一种缺陷,通过实例分析了缺陷产生的原因,并给出了具体的修改和优化方法。面对这些缺陷,程序员会有一种似曾相识、相见恨晚的感觉。通过这些缺陷,程序员能够跳出固有的程序设计思维定式,使其翻然醒悟,茅塞顿开。

第1章 语言使用基本问题 1

1.1 变量使用问题 1

1.2 运算符使用问题 24

1.3 函数问题 47

1.4 条件语句问题 57

1.5 循环语句问题 64

1.6 数值类型转换问题 67

第2章 内存管理 85

2.1 内存分配与使用 87

2.2 内存泄漏 96

第3章 缓冲区溢出 118

3.1 数组越界 119

3.2 数据越界 124

3.3 字符串操作溢出 125

第4章 指针问题 141

4.1 空指针解引用 142

4.2 指针非法使用 148

第5章 安全缺陷 158

5.1 外部输入安全缺陷 158

5.2 资源泄漏 162

5.3 其他 169

第6章 与类有关的编程缺陷 174

第7章 其他 208

7.1 预处理 208

7.2 异常 215

7.3 多线程和同步性 226

7.4 代码不可达 229

附录A 常用静态分析工具 234

A.1 PolySpace——运行时错误静态检查工具 234

A.1.1 PolySpace Verifier 235

A.1.2 PolySpace Viewer 238

A.2 Klocwork——代码静态检查工具 240

A.2.1 工程创建与分析 241

A.2.2 分析结果查看 244

A.3 Testbed——静态和动态测试工具 250

A.3.1 单个文件分析 251

A.3.2 分析结果查看 254

A.3.3 多个文件批量分析 263

A.4 McCabe IQ2——软件质量保证工具 265

A.4.1 McCabe EQ 265

A.4.2 McCabe Test 272

A.4.3 McCabe Reengineer 273

参考文献 274