1.C项目要高内聚(模块功能必须明确,一个模块完成一个功能)、低耦合(接口尽可能简单,减少各模块间的联系)。
2.register类型不能为模块间的全局变量、模块内的全局变量、局部static变量。(当一个变量频繁被读写时,需要反复访问内存时使用)
3.cpu访问速度:CPU 内部RAM > 外部同步RAM > 外部异步RAM > FLASH/ROM;
4.程序优化:
- 不要优化程序中开销不大的那80%;
- 宏定义是C 语言中实现类似函数功能而又不具函数调用和返回开销的较好方法,但宏在本质上不是函数,因而要防止宏展开后出现不可预料的结果,对宏的定义和使用要慎而处之;
- 使用寄存器变量、内嵌汇编和活用位操作也是提高程序效率的有效方法;
- 除了编程上的技巧外,为提高系统的运行效率,我们通常也需要最大可能地利用各种硬件设备自身的特点来减小其运转开销,例如减小中断次数、利用DMA 传输方式等。
5.C语言架构:C 语言作为一种结构化的程序设计语言,主要依据功能来划分模块,大型软件的构成是通过合理的将一系列功能独立的部分合作的模块进行组合。
C 语言模块化程序设计概念:
1. 模块即是一个.c 文件和一个.h 文件的结合,头文件(.h)中是对于该模块接口的声明;
2. 某模块提供给其它模块调用的外部函数及数据需在.h 中文件中冠以extern关键字声明;
3. 模块内的函数和全局变量需在.c 文件开头冠以static 关键字声明;
4. 永远不要在.h 文件中定义变量!定义变量和声明变量的区别在于定义会产生内存分配的操作,是汇编阶段的概念;而声明则只是告诉包含该声明的模块在连接阶段
从其它模块寻找外部函数和变量。