求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
 
 
 
开班计划 | 技术学院 | 管理学院 | 嵌入式学院 | 机械 | 军工学院 | 定向培养 | 专家指导  
 电话 English
成功案例   品质保证
 
成功案例
某轨道交 C/C++设计模式
华为 C++高级编程
丹佛斯 C++高级编程
北大方正 C语言单元测试实践
罗克韦尔 C++单元测试+重
罗克韦尔 C++单元测试+重
中国石油 C++单元测试

相关课程  
C++并发处理+单元测试
C++程序开发
C++高级编程
C/C++开发
C++设计模式
C/C++单元测试
 
全部课程 >C/C++技术  
嵌入式C高质量编程   
14111 次浏览  44 次
Bary
为Linux内核维护人,为Linux内核做出重要贡献,技术指导企业
 
时间地点:北京、上海 、深圳根据报名开班
课程费用:5700元/人
报公开课  
企业内训:可以根据企业需求,定制内训,详见 内训学习手册

《开发工程师》  认证方式  
1.知识:权威知识考试;
2.技能:真实案例实践考评;
3.经验:工作经验审核;
4.素养:未来发展潜力的评估。。


 本课程围绕嵌入式编程,详细解析C语言的有关嵌入式的关键特性,结合嵌入式软件特点,讲解如何实现代码功能的同时,关注代码的质量:高性能、可靠、可测试,通过相关技能和编程范式建立代码质量,通过不断的评审、不断地评审、测试识别代码缺陷,通过重构改善设计质量。

培训目标:

通过本课程,学员可以:

  • 了解C语言的嵌入式开发特性
  • 了解和性能有关的编码要素
  • 了解嵌入式C程序的常见组织风格
  • 了解如何采用C进行面向编程
  • 掌握如何建立程序的性能
  • 掌握如何进行可靠性设计、监测并处理可靠性问题
  • 掌握如何建立可测试性,
  • 掌握如何进行嵌入式C白盒测试
  • 掌握如何进行嵌入式C代码评审,
  • 掌握如何定位嵌入式C质量缺陷并进行代码重构

 

培训对象:嵌入式开发工程师,C程序员
学员基础:具有开发一定的开发经验
授课方式: 定制课程 + 案例讲解 + 小组讨论,60%案例讲解,40%实践演练

培训内容:2天

嵌入式C关键特性
嵌入式C编程基础
  • 变量与内存分配机制
  • 函数与调用原理
  • 条件控制语句
  • 常量和变量
  • 指针和函数指针
  • 设计中断函数
  • 关键字static,extern,volatile,inline
  • 位操作的应用
  • 结构体中的位域
嵌入式C编码风格
  • 变量、函数、宏的命名
  • 代码排版与布局
  • 注释的策略
  • indent工具
  • 为代码编写文档
嵌入式C性能优化
  • 使用宏和inline
  • 使用寄存器变量
  • 内嵌汇编
  • 利用硬件特性
  • 循环展开
  • 使用查找表
  • 紧凑的C代码并不能保证得到高效的机器代码
  • 编译优化
嵌入式C软件结构
嵌入式C软件模块与模块划分
  • 模块划分原则
  • 源代码文件和目录的组织
  • 硬件驱动模块
  • 软件功能模块
  • 提供API
  • 头文件
  • 全局变量
  • 主循环与中断
  • 软件的分层结构
嵌入式C函数
  • 一个函数只做一件事,不要编写多种功能集于一身的函数
  • 明确地定义函数的参数
  • 避免比尔类型参数
  • 编写函数使其在给定有效的输入情况下不会失败
  • 函数不依赖于另一个函数的内部细节
  • 函数要小且容易测试
  • 函数内部代码块
嵌入式C的面向对象
  • 用struct来模拟class
  • 封装
  • 继承
  • 重载
  • 数据结构的抽象
代码质量
嵌入式C防御性编程
  • 防御性代码的风格
  • 编译警告开关的使用
  • 预计所有可能的异常
  • 检查所有的返回值
  • 审慎处理内存资源
  • 变量声明策略
  • 审慎地进行强制转换
  • 尽量用可移植的数据类型
  • 使用lint来查出编译程序漏掉的错误
  • 使用断言
嵌入式C白盒测试
  • TDD与单元测试
  • 单元测试与Debug
  • 单元测试用例设计
  • 即使测试代码会影响进度,也要坚持测试代码
  • 测试代码的责任不在测试员身上,而是程序员自己的责任
嵌入式C代码评审
  • 代码评审的规范
  • 代码评审的组织方式
  • 代码评审的内容
  • 结合配置管理强制代码评审
嵌入式C代码重构
  • 代码重构的原则
  • 重新命名函数
  • 提炼函数
  • 提炼判断条件
  • 简化函数参数
  • 解除全局变量的噩梦
  • 避免函数传递中的隐形bug
  • 调整函数位置
   
14111 次浏览  44 次
其他人还看了课程
GPU高级调试与优化  2374 次浏览
QT应用开发  6162 次浏览
C/C++开发基础  3572 次浏览
C++高级编程  9395 次浏览
OpenCV原理与应用  3402 次浏览
C语言高级编程  3228 次浏览
定制内训


最新活动计划
MBSE(基于模型的系统工程)4-18[北京]
自然语言处理(NLP) 4-25[北京]
基于 UML 和EA进行分析设计 4-29[北京]
以用户为中心的软件界面设计 5-16[北京]
DoDAF规范、模型与实例 5-23[北京]
信息架构建模(基于UML+EA)5-29[北京]