您的位置:首页 > 关注 >

模块化编程的重要性|观热点

2023-06-02 03:01:41 来源:面包芯语

要说的话

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

在keil 编译器中,extern这个关键字即使不声明,编译器也不会报错,且程序运行良好,但不保证使用其它编译器也如此。强烈建议加上,养成良好的编程规范。

.c文件中的函数只有其它模块使用时才会出现在.h文件中,像本地延时函数static void delay (uint us)即使出现在.h文件中也是在做无用功,因为其它模块根本不去调用它,实际上也调用不了它(static关键字的限制作用)。

注意本句最后一定要加分号”;”,相信有不少同学遇到过这个奇怪的编译器报错: error C132: "xxxx": not in formal parameter list,这个错误其实是.h的函数声明的最后少了分号的缘故。


(资料图)

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

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

在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。

在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。

在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。

永远不要在.h 文件中定义变量!

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

软件功能模块,其模块的划分应满足低偶合、高内聚的要求。

本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。

猜你喜欢:

柔性数组在实际项目中的应用?

干货 | protobuf-c之嵌入式平台使用

C语言、嵌入式重点知识:回调函数

实用 | 10分钟教你搭建一个嵌入式web服务器

标签:

[责任编辑:renwu001]

相关阅读

最近更新