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" 

  在  ..表示上级目录   .表示本层目录


/***************************************

原文地址:https://www.cnblogs.com/wangmingshuo/p/3323414.html