本书主要讲解如何将集成开发环境、设计模式、极限编程、测试驱动开发、重构、持续集成这些现代编程方法应用到C语言的嵌入式开发中去。即将服务器站点中的通用设计方法、工具的使用方法、开发方式等逐一“翻译”成为可以在C语言嵌入式开发过程中使用的方法。
第1章 概要1
1.1 现在C依然很热门1
1.2 使用C进行嵌入式开发的特点3
1.3 本书的目标5
1.3.1 C与集成开发环境5
1.3.2 C与设计模式6
1.3.3 C与极限编程7
1.3.4 C与现代开发方式9
1.4 总结11
第2章 搭建开发环境13
2.1 概要13
2.2 获取Linux13
2.3 在Windows PC上搭建环境14
2.4 安装Linux20
2.4.1 准备工作20
2.4.2 制作安装介质21
2.4.3 安装Xubuntu24
2.5 安装Eclipse29
2.5.1 安装Java29
2.5.2 安装Eclipse30
2.5.3 安装其他工具33
2.6 Eclipse的基本操作34
2.6.1 Hello, World34
2.6.2 视图38
2.6.3 工程、工作区和透视图38
2.7 Eclipse的功能41
2.7.1 可视化调试41
2.7.2 导航器48
2.7.3 代码补全51
2.7.4 宏展开53
2.7.5 本地代码历史54
2.7.6 TODO注释55
2.7.7 与外部编辑器协作56
2.8 总结58
第3章 C语言与面向对象59
3.1 概要59
3.2 C的模块化与面向对象59
3.2.1 C与模块化60
3.2.2 使用结构体将数据结构与代码块分离62
3.2.3 使用C进行面向对象编程66
3.2.4 面向对象与多态性75
3.2.5 继承76
3.2.6 封装79
3.2.7 虚函数表80
3.2.8 非虚函数82
3.3 总结84
第4章 C语言与设计模式85
4.1 状态模式85
4.1.1 状态迁移图85
4.1.2 状态迁移表89
4.1.3 面向对象的状态模式90
4.1.4 多个状态集合相互关联的情况93
4.1.5 状态模式与内存管理94
4.2 模板方法模式95
4.2.1 返回非int值99
4.2.2 处理其他资源100
4.2.3 上下文107
4.3 观察者模式114
4.4 职责链模式125
4.5 访问者模式128
4.6 总结134
第5章 C语言与重构135
5.1 概要135
5.2 测试驱动开发136
5.3 TDD入门137
5.3.1 设置Eclipse137
5.3.2 初次测试驱动开发142
5.3.3 测试静态函数147
5.4 重构150
5.4.1 对外接口150
5.4.2 重构与投资150
5.5 TDD实践篇151
5.5.1 怪兽方法152
5.5.2 C语言的Mock测试162
5.5.3 完成重构182
5.5.4 获取代码覆盖率186
5.6 总结188
第6章 持续集成与部署191
6.1 概要191
6.2 持续集成的前提192
6.2.1 软件配置管理工具192
6.2.2 构建工具192
6.2.3 Bug跟踪系统(BTS)193
6.3 引入CI服务器193
6.4 CI入门196
6.4.1 本次CI的自动化目标196
6.4.2 Scons构建脚本197
6.4.3 gcovr的安装199
6.4.4 构建200
6.4.5 提交至SCM202
6.4.6 创建Jenkins任务203
6.5 内存Bug大作战214
6.5.1 安装214
6.5.2 运行Valgrind214
6.5.3 Valgrind可以检测出的错误215
6.5.4 Valgrind中检测出的内存错误的特点与对策220
6.5.5 在Jenkins中使用Valgrind221
6.6 CI实践篇228
6.6.1 Microchip工具229
6.6.2 构建内容230
6.6.3 分割构建文件234
6.6.4 独立构建服务器240
6.6.5 设置自动构建计划247
6.7 总结249
附录A 示例代码251
A.1 注意事项251
A.2 添加C99标准251
A.3 在Eclipse中导入示例代码252
A.3.1 解压示例代码压缩文件252
A.3.2 Eclipse中新建空白工程252
《浙东唐诗之路学术文化编年史》内容简介:浙东,自晋代起渐成为人文荟萃之地,源远流长的山水诗在此滋生,与之有连带关系的书法、
Stringmatchingisaveryimportantsubjectinthewiderdomainoftextprocessing.Itconsists...
《痛苦典当行:南人诗歌绘本》内容简介:《痛苦典当行》精选“短诗王”南人的七十多首犀利诗作,搭配新锐插画师黄丽的三十多张奇诡
本书分为四个部分,每部分内容都由一个研究案例引出。第一部分介绍了如何保证系统的生存,即维护系统正常运行。第二部分介绍了如
不可知的未来正向我们涌来,在IT技术变革比人们换手机还勤的时代里,一切更新都显得那么平常而频繁。这一切的策源地――硅谷,也
《中国财政分权、地方政府行为与经济增长》内容简介:本书是国家社科基金重点项目的研究成果,入选“国家哲学社会科学成果文库”。
《设计思维:有效的设计沟通和创意策略》旨在介绍设计思维的概况.包括设计进程的每一个阶段:设计师在产生和完善构思时,主要考虑
《捉虫日记》由克莱恩所著,《捉虫日记》从实践角度介绍安全漏洞,描述了作者在过去几年里怎样发现漏洞、怎样利用漏洞来攻击以及
《Spring Boot技术实践》内容简介:SpringBoot在医疗健康领域的应用推动了设计模式在互联网领域的发展。本书SpringBoot带动了Java编
《医点就通》内容简介:我们在面对健康问题时,都有这样的困扰:自己和家人一生病就着急;一有病就往医院跑,费时费力;没有足够时
Thisbestsellingtextoncarryingoutresearchinrealworldsituationshasbeenthoroughlyre...
《想清楚 说明白》内容简介:本书主题与每个普通职场人日常工作生活都密切相关,属于绝大多数职场白领想要提升的重要素质之一。对于
《走进搜索引擎(第2版)》由搜索引擎开发研究领域三位年轻的博士生精心编写,作者们希望将自己对搜索引擎的理解和实际应用相结合,
《人活动的效率》内容简介:本书是郭湛的博士论文《人活动的效率》(北京,人民出版社,1990)的修订版,在原书八章基础上增加到十
全书分三篇。一、绪论篇。第一章谈火药出现前中外火攻中使用的古代纵火剂和纵火武器。第二章论有关火药的一般概念,包括火药的定
《中国文化企业报告2015》内容简介:文化产业的产业变动日益剧烈,企业发展也呈现出两极分化的特点;向优秀文化企业学习,避免失败
软件设计师教程-全国计算机技术与软件专业技术资格(水平)考试指定用书-(第4版) 本书特色 本书作为中级职称的软考指定教材,具有比较权威的指导意义。本书根据《软...
《ROS机器人编程实践》内容简介:ROS工程师经常面临使用机器人操作系统(ROS)基础设施并将物理机器人连接到机器人仿真系统的挑战。
React Native-用JavaScript开发移动应用 本书特色 react native是当前移动端开发中的优秀解决方案。《react native:用...
《神经网络气象预报建模理论方法与应用》主要介绍了神经网络主要模型的基本理论和方法、神经网络的各种短期气候预测模型、时间序