ARM单片机程序文件结构
1 .c 文件
- 谨记:声明可以多次,定义只能一次。extern是声明不是定义
#define BASIC_FUNC_C
//header_include.h包含所有的头文件
#include "header_include.h"
void some_function()//全局函数的定义
{
i++;
}
2. .h 文件
#ifndef BASIC_FUNC_H
#define BASIC_FUNC_H
//取消掉Ex的定义
#undef Ex
//如果是当前c文件就直接声明不用加extern,如果是其他文件引用,要在变量
//或者函数前面加extern 表示是外部引用
#ifdef BASIC_FUNC_C
#define Ex
#else
#define Ex extern
#endif
Ex u8 i;//全局变量的声明
Ex void some_function();//全局函数的声明
#endif
这样其他文件只要#include "header_include.h"就可以调用全局变量i了。在其他文件中见到的是extern i;这个全局变量的声明,而在basic_func.c中看到的是i,这个是变量的定义。