本书主要讲解如何将集成开发环境、设计模式、极限编程、测试驱动开发、重构、持续集成这些现代编程方法应用到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
TableofContentsPart1:AnIntroductiontoD31AnintroductiontoD3.js2InformationVisuali...
《数字抑郁时代》内容简介:你不经意间养成的习惯,背后都是高科技的老谋深算 慕尼黑大学心理学教授教你认清套路,看穿隐藏在数字技
本书是网易杭州研究院项目管理部多年来丰富的项目管理实践总结与干货分享。字字句句凝结了网易项目经理的甘与苦、汗与泪。全书围
《Photoshop修片,超简单!》内容简介:这是一本学习起来“超简单”的修片实用教程。本书以案例为主导,以新颖的写作形式介绍了包括
《AI赋能:驱动产业变革的人工智能应用》内容简介:本书集合了在中国人工智能产业发展联盟组织的第二批“人工智能技术和应用案例评
Oracle数据库基础教程 本书特色 本书是关于介绍“Oracle数据库基础”的教学用书,书中结合大量的实例,介绍如何利用Oracle 10g来管理和维护数据,...
《涡河边的老子》内容简介:《涡河边的老子》把《老子》放在淮河流域的背景下阅读,寻找、还原了它的地理土壤,放在散文随笔的形式
Automatedtestingisacornerstoneofagiledevelopment.Aneffectivetestingstrategywilld...
XHTML语言是目前最流行的网页制作语言之一。本书通过实例讲解了XHTML语言中各元素及其属性的作用、语法和显示效果。全书内容包括
在今天不可持续的商品社会,人们购买到渴望已久的商品,只是短暂的使用,就迅速地丢弃然后又去寻求新的,消耗和浪费疯长,进而失
《中东非阿拉伯国家智库研究》内容简介:本书对中东地区的三个非阿拉伯国家以色列、土耳其和伊朗的智库发展及对各国对外政策和中东
《《红楼梦》真相(上、下)》内容简介:“满纸荒唐言,一把辛酸泪。都云作者痴,谁解其中味?”这是《红楼梦》的第一首标题诗。曹
《千脑智能》内容简介:近些年,当人们谈论人工智能时,总热衷于讨论算法的优化、模型的迭代、算力的多少。人们不断地在追求模型的
《大数据与劳动力市场研究》内容简介:利用网络大数据开展就业市场的分析和预测,为政府提供决策咨询,其重要性无论如何强调,应当
《如何专业做采购》内容简介:作为专业采购必须有能力回答4大核心问题: 为什么选择这家供应商? 为什么是这个价格? 如何通过合同
《市场有效周期理论的构建、实证及应用》内容简介:本书对有效市场假说进行了修正与发展,构建了市场有效周期理论,并运用具有代表性
本书全部实例代码及相关工具。基于ARM9+Linux206平台,从基础讲起,引导读者快速入门,实例丰富,可直接应用于工程实践。本书全面
《网站创富:从搭建、管理到营利》内容简介:本书聚焦于如何搭建、管理一个网站,并进行营利,主要内容有:网站空间的选购、部署和
《边做边学深度强化学习》内容简介:本书最大的特点在于讲解深度强化学习算法时尽可能地做到化繁为简,书中没有复杂的符号逻辑,也
WhatsInside*HowRubyandRailswork,separatelyandtogether*ExtensiveRubylanguagetutor...