Keil 模块化程序设计(总结)
模块化程序设计(总结)
具体代码和说明讲解 下载地址
/**************************************
本实例 讲述 了最基本的多文件编程
1.模块化程序的设计
及可移植的数据类型的宏定义 的头文件叫
macro.h
2.我们建立 common.h一个所有的文件都要共
同使用的头文件,里面当然就是单片机的管
脚使用的定义,还有里面放那些需要的KEIL
系统的头文件,比如#include<reg52.h> ,
#include<absacc.h>等等,把这个文件命名
为common.h
3.每一个C源文件都要建立一个与之名字一样
的H文件(头文件),里面仅仅包括该C文件的
函数的声明,其他的什么也不会有,比如变
量的定义啊等等不应该有。
4.我们设置改变编译输出路径,这样便于文件
的梳理
5.建立工程的时候,只要把C源文件加到工程中
,把H文件直接放到相应的目录下面就可以了
,不需要加到工程里面。
6.在多文件编程和模块化设计时,一定有很多
人搞不懂 声明与定义,以下可以帮你理解
这些概念:
(1) 变量:
对于声明与定义最容易让人无法理、
解的就是变量:
extern int a; //声明一个全局变量
extern int a = 0; //定义一个全局变量
int a ; //定义一个全局变量 (定义在函数体以外,就是全局的)
int a = 0; //定义一个全局变量,并给初值
谨记:声明可以多次,定义只能一次
(2)函数:
定义的时候用extern 说明函数可以被外部引用
声明的时候用extern 意思都差不多。
定义与声明的唯一区别就是:定义有函数体,声
明没有函数体。
注:可能很多人对于 很多头文件和.c文件中没
有加extern ,不知道什么意思。额,函数的声
明和定义,完全可以不加 extern ,本身就可以
表示:外部可以引用... ...
7.每个C源文件应该包含自己的头文件以及那个共同的使用的
头文件,里面 还放自己本文件内部使用的全局变量或者以
extern定义的全局变量,这样即达到了对本身变量的声明,
有达到了外部引用的声明。
8.为了更好的组织文件,我们把不同的文件建立在不同的文件
夹中,(我们都知道我现在工程里建立的目录,实际是不存
在的,添加的文件也不过是个链接,文件还在保存文件的那
个目录)
如果我们把文件保存在不同的目录,就会出现你引用头文件
找不到的情况。这时我们就要用到#include相对路径的引用
文件的用法。
例:#include"../ssp/ssp.h"
在 ..表示上级目录 .表示本层目录
/***************************************