本书主要讲解如何将集成开发环境、设计模式、极限编程、测试驱动开发、重构、持续集成这些现代编程方法应用到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
《让孩子爱上学习》内容简介:本书整理了作者多年来将心理辅导应用于教育的实践经验,总结出家长促使孩子变成学霸必经的三个步骤,
《成年人居家科学健身方法指导》内容简介:《成年人居家科学健身方法指导》由国家体育总局体育科学研究所的健身专家倾力打造,书中
「平面設計是帶給人夢想的幸福工作。從事平面設計,除了需要一點幽默和感性之外,擁有平面設計的基本知識更是必備條件。」本書收
黑川雅之(MasayukiKurokawa)先生1937年生于日本名古屋,先后毕业于名古屋工业大学建筑系及早稻田大学。1967年在他获得早稻田大学
《一小时漫画基金实战法》内容简介:基金投资是非常适合普通人的一种投资方式,但在投资之前,我们先要搞懂基金是什么、基金是怎么
《Photoshop+Illustrator完美创意设计:广告特辑》作者是韩国著名的平面设计师,曾经主持设计了三星手机、韩国通信网站等众多国际
Duringthepastdecadetherehasbeenanexplosionincomputationandinformationtechnology....
我们生活的世界中存在各种各样的商品,T恤、手机、家具、汽车……不管哪一种商品,其中必定包含着某种“创意”。换言之,每一种商
本书对BrainW.Kernighan和DennisM.Ritchie所著的《TheCProgrammingLanguage》(第2版)的所有练习题都进行了解答...
The Adobe Illustrator CS2 Wow!Book 内容简介 本书由基础、提示、练习、技巧、画廊和参考资料等六个部分融合而成,每部分都是Ill...
信息系统监理师教程 内容简介 《信息系统监理师教程》包括三大部分,分别是信息工程监理基础理论、信息系统工程网络建设监理、应用系统工程建设监理。全书系统地讲述信息...
《圣人是怎样炼成的》内容简介:一部让你轻松了解古代圣人成长史的爆笑漫画书,帮助孩子补充课外知识,增长见识。看半小时漫画,通
《漫步,遇见地道的台北生活》内容简介:本书是介绍轻松愉快的台湾徒步旅游书。作者带你逛仁爱路林荫大道、PEKOE杂货铺、东区茶街、
《撑下去便是一切》内容简介:这是一本讲述如何通向成功的励志实用功能性图书,描述了一个年轻人的艰辛历程。主人公的思考、总结和
《我将前往的远方》内容简介:联合报文学大奖得主郭强生,《断代》后又一力作 “人生私散文”获奖作,献给单身初老族的一首情歌 难
《C++程序设计教程》是《C++程序设计教程》的第二版。然而从指导思想、内容结构、写作特点等方面,都以全新的面貌呈现于读者。全
《唐诗三百首》内容简介:唐代是我国古代文学发展的重要阶段,尤其是古代诗歌发展的全盛时期,同时也是一个诗人辈出的时代,因此后
MarkRichards是一位造诣颇深的作者和会议演讲者,他是金融服务行业的实战型SOA和企业体系结构师。除了发表大量文章之外,他还是《
《经济转型背景下的财富管理与资产配置》内容简介:当前,国际国内经济金融形势复杂多变,投资单一市场、单一资产的不确定性不断加
《写给系统管理员的Python脚本编程指南》内容简介:本书是一本介绍Python编程的进阶图书,包含了大量关于Python脚本设计的主题。本