本书主要讲解如何将集成开发环境、设计模式、极限编程、测试驱动开发、重构、持续集成这些现代编程方法应用到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
《天神和人》内容简介:本书讲述中西方的神话故事,主要是西方的希腊神话中宇宙体系的构建者和中华文明的古老神话中关于宇宙形成的
《冬韵奥林匹克》内容简介:本书从艺术欣赏角度介绍了冬奥会的历史和风采,展示冬奥文化的魅力,介绍了北京申请冬奥会举办权的历程
计算机组装与维护教程 节选 本书根据应用型本科计算机科学与相关专业的培养目标、特点和要求,详细介绍了*新的计算机系统的各组件,包括主板、CPU、内存、显卡、外设...
非常网管WindowsServer2003服务器架设实例详解(修订版) 本书特色 《非常网管:Windows Server 2003服务器架设实例详解(修订版)...
《你就适可而止吧》内容简介:自以为聪明的吝啬,送礼就送一箱奶。一言不合就毒舌,情伤要绝食?跳楼吧!比较快。维持表面风光生活
互联网在日常工作和生活中扮演日益重要的角色,互联网将如何重塑社会?本书通过汇集有关互联网文化、经济、政治角色等问题的研究
掌握TMS320C6201/6701DSPs是了解当代众多DSPs的方法之一。DSPs是DigitalSignalProcessors的缩写,指专用于数字信号处...
《生活书店会议记录:1940—1945(精)》内容简介:本册收入了生活书店第六届理事会会议记录,第六届人事委员会会议记录,第六届理
ThemobilerevolutionFindouthowtomakethemostofitThisguidefocusesonwhatisamustforal...
芬兰是全世界创意经济的先进国家,其极简的设计早已闻名全球,而且,在芬兰,设计不只是艺术家的事,全民都具有设计意识。这本书
《异质性的对话》内容简介:本书基于对“独立动画”的一般界定而展开,分析独立动画如何通过媒介实验与多层面批判确立自身,一方面
《组织合伙人:寻找增长新曲线》内容简介:企业增长的底层逻辑是什么?企业组织架构的痛点是什么?如何找到企业的增长新曲线?如何
ThebookcoverstheforthcomingPylons0.9.7releaseandisavailbleforfreetoreadhereonlin...
MATLAB R2016a完全自学一本通-畅销升级版-附赠近150页超值电子书 本书特色 本书面向MATLAB的初中级读者,在介绍MATLAB R2016a集成...
《人工智能发展报告(2019—2020)》内容简介:该书是国家工业信息安全发展研究中心在对2019年全球人工智能技术和产业进行全面跟踪
ARM嵌入式系统基础教程(第2版) 内容简介 本书是《ARM嵌入式系统系列教程》中的理论课教材。以NXP公司(原PHILIPS公司半导体部)LPC2000系列A...
《ZBrush+3ds Max+TopoGun+Substance Painter次世代游戏建模教程》内容简介:随着游戏行业的不断发展,对三维游戏模型人才的需求...
《“四自教育”培育阳光少年》内容简介:本书是第八届上海市中小学德育研究协会课题“以‘四自教育’校本德育课程为载体培育阳光少
《日本军事力量解析(下册)》内容简介:自卫队是日本于第二次世界大战后组建的国家防卫力量。根据日本宪法规定,自卫队由防卫省统
本书是一本全面系统地讲述计算机自然语言处理的优秀教材。本书英文版出版之后好评如潮,国外许多著名大学纷纷把本书选为自然语言