在keil 编译器中,extern这个关键字即使不声明,编译器也不会报错,且程序运行良好,但不保证使用其它编译器也如此。强烈建议加上,养成良好的编程规范。
.c文件中的函数只有其它模块使用时才会出现在.h文件中,像本地延时函数static void delay (uint us)即使出现在.h文件中也是在做无用功,因为其它模块根本不去调用它,实际上也调用不了它(static关键字的限制作用)。
注意本句最后一定要加分号”;”,相信有不少同学遇到过这个奇怪的编译器报错: error C132: "xxxx": not in formal parameter list,这个错误其实是.h的函数声明的最后少了分号的缘故。
(资料图)
在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。
硬件驱动模块,一种特定硬件对应一个模块;
软件功能模块,其模块的划分应满足低偶合、高内聚的要求。
本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。
猜你喜欢:
柔性数组在实际项目中的应用?
干货 | protobuf-c之嵌入式平台使用
C语言、嵌入式重点知识:回调函数
实用 | 10分钟教你搭建一个嵌入式web服务器
X 关闭
Copyright © 2015-2022 热讯机械网版权所有 备案号:豫ICP备20005723号-6 联系邮箱:29 59 11 57 8@qq.com