嵌入式C语言模块化程序设计

2019-12-19 18:12发布

摘自:C语言嵌入式系统编程修炼之二:软件架构篇  
C语言模块化程序设计需理解如下概念:

  (1) 模块即是一个.c文件和一个.h文件的结合,头文件(.h)中是对于该模块接口的声明;

  (2) 某模块提供给其它模块调用的外部函数及数据需在.h中文件中冠以extern关键字声明;

  (3) 模块内的函数和全局变量需在.c文件开头冠以static关键字声明;

  (4) 永远不要在.h文件中定义变量!
                定义变量和声明变量的区别在于定义会产生内存分配的操作,是汇编阶段的概念;而声明则只是告诉包含该声明的模块在连接阶段从其它模块寻找外部函数和变量。

一个嵌入式系统通常包括两类模块:

  (1)硬件驱动模块,一种特定硬件对应一个模块;

  (2)软件功能模块,其模块的划分应满足低偶合、高内聚的要求。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
21条回答
ruanxianwu
1楼-- · 2019-12-21 08:36
sunliezhi 发表于 2014-9-10 22:43
1.请你以TM1668为例做一个C模块(暂且叫底层);
2.如果要求在中层调用底层的驱动,并在中层实现供上层调 ...

哈哈   TM1668没用过
而且  不说清楚功能就叫写程序都是耍流氓呀
sunliezhi
2楼-- · 2019-12-21 12:44
 精彩回答 2  元偷偷看……
guyong2012
3楼-- · 2019-12-21 17:33
学习了,以前一直在.h里面定义变量
shy_boyman
4楼-- · 2019-12-21 22:48
一直在学习模块化编程。不知道各位大神有啥资料。
sunnydragon
5楼-- · 2019-12-22 02:36
顶2楼,必须自己实践后才能深有体会,否则只是按照书上说的,未必能够真正记住并养成好习惯。
yj_yulin
6楼-- · 2019-12-22 07:18
熟能生巧,慢慢写多了应该都会有体会的,不过看一些别人总结的经验还是不错的,他山之石,可以攻玉嘛

一周热门 更多>