关于嵌入式模块化编程要点

模块化编程要求生成相同名字的 .c  源文件   和 .h 头文件 

其中 . h   是在引用该文件预编译时候展开的。(变量声明,函数声明,)

其中 . c   是在引用该文件编译后链接使用的。(完整函数,变量命名)

注意:

.h 文件  

1.#ifndef XXX

#define XXX

//Your Code

#endif

防止头文件多次引用,多次头文件被编译

大小写没关系

2.不要在头文件里定义变量,因为重复引用头文件,该变量变量会反复展开,造成错误

3.声明                extern int a       void print(); 

   定义               int a=3;              void print() { }; 

4.想要该源文件中的全局变量只在该文件中使用,不在其它源文件中使用,可以给变量加上static声明,函数也是一样,可对其它源文件隐藏

5.只有全局变量并且没有被static声明的变量才能声明为extern

6.在有文件里 extern int a 声明源文件中的全局变量 , 就变成了全局变量  可以外部访问

7.定义函数时候 加上extern  ,说明函数可以外部引用(也可省略)

对于函数来说,默认为extern

8.在函数内部的变量,加上static,可防该变量在函数结束后在栈中被回收。存储在静态区

9.关于include  大部分include写在源文件里面,

头文件名应尽量与实现功能的源文件相同,即module.c和module.h。但源文件不一定要包含其同名的头文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值