本书主要讲解如何将集成开发环境、设计模式、极限编程、测试驱动开发、重构、持续集成这些现代编程方法应用到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
《日本军事力量解析(下册)》内容简介:自卫队是日本于第二次世界大战后组建的国家防卫力量。根据日本宪法规定,自卫队由防卫省统
《简明版面设计》通过大量的实际图例分析,介绍如何应用3种格调和5种要素来设计各种各样的版面。《简明版面设计》分学习编、分析
《乾隆帝及其时代》内容简介:本书立足于世界史的视野,以乾隆帝八十多年的生命之旅为切入点,广泛搜罗中外各种文献与档案,向人们
《考研阅读句句讲(英语一)》内容简介:本书以作者独创的“读9项”速解阅读题和“主干公式”为指导,以考研英语真题阅读的每一篇为
《文化治理与文化创新》内容简介:本书系统研究文化治理与文化创新,确定文化的定位与定向,阐述文化自觉与文化自信,分析文化系统
《Python人脸识别:从入门到工程实践》内容简介:本书讲解了人脸识别模型的实现原理和特点,更重要的是强调了工程上的实践能力,对
《裂变增长秘籍》内容简介:本书基于微信大生态,围绕裂变获客、留存促活、销售变现、客户管理四大模块展开讲述,旨在帮助更多互联
《深入实践C++模板编程》内容简介:C++模板编程领域的经典著作,由资深C++开发工程师撰写。本书以透彻分析原理为前提,深入讲解了模
《养出元气满满的孩子》内容简介:《养出元气满满的孩子》主要围绕当下的国学教育展开,从传统文化视角讲述并剖析家庭教育、礼乐教
Originallypublishedin1985,NeilPostmansgroundbreakingpolemicaboutthecorrosiveeffe...
《世间的陀螺》内容简介:韩浩月呕心沥血之作。从故乡的逃离者、批判者到回归者,以至真至诚,直面一生所爱,深沉追忆时间深处的山
《全能鼓手实战教程——648句技巧训练》内容简介:本书是一本鼓手必备的练习宝典。涵盖了爵士鼓、小军鼓等各类鼓乐学习过程中初级、
盖国强(网名Eygle),OracleACE总监,恩墨科技创始人,ITPUB论坛超级版主,远程DBA服务的倡导者和实践者,致力于以技术服务客户
网络文化与虚拟社会管理 内容简介 近年来,网络文化对公众社会实践活动的影响呈现出明显增强的态势,虚拟空问中的许多社会现象、网络言行均与此相关,已经成为虚拟社会管...
《广义网络空间》内容简介:本书将广义网络空间定义为赛博、物理、社会和思维融合的四维超空间,系统地介绍了广义网络空间的相关主
《JSP网站开发详解》介绍了使用JSP及其相关技术开发网络应用程序的基础知识和方法,全书共分为3个部分。其中第1部分介绍了使用JS
《混沌工程:复杂系统韧性实现之道》内容简介:混沌工程已然腾飞。在各个垂直领域,成千上万的各种类型和规模的公司都将混沌工程作
Thisbookisaboutimplementations,notlanguages,itwillmakenoattempttoextolthevirtues...
编程珠玑-第2版-修订版 本书特色 本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者jon bentley 以其独有的洞察...
《Java经典入门指南》内容简介:本书基于新版的Java 11编写,全面系统地介绍Java程序员必须掌握的核心基础知识,这些内容融合在三大