开 场 白 : 很 多 人 也 把 多 文 件 编 程 称 作 模 块 化 编 程 ,其 实 我 觉 得 叫 多 文 件 编 程 会 更 加 符 合 实际 一 些
多 文 件 编 程 有 两 个 最 大 的 好 处 , 一 个 是 给 我 们 的 程 序 增 加 了 目 录 , 方 便我 们 查 找
另 外 一 个 好 处 是 方 便 移 植 别 人 已 经 做 好 的 功 能 程 序 模 块 , 利 用 这 个 特点 , 特 别 适 合 团 队 一 起 做 大 型 项 目
很 多 初 学 者 刚 开 始 学 多 文 件 编 程 时 , 会 经 常遇 到 重 复 定 义 等 问 题 ,想 知 道 怎 么 解 决 这 些 问 题 吗
只 要 按 照 以 下 鸿 哥 教 的 规 则来 做 , 这 些 问 题 就 不 存 在 了
第 一 个 : 每 个 文 件 保 持 成 双 成 对 出 现
c 源 文 件 必 须 有 一 个
h 头文 件 跟它对 应, 每 个
h 头文 件 必 须 有 一 个
c 源 文 件 跟它对 应
比如: main
c 与main
h,delay
c 与 delay
第 二个 :
c 源 文 件 只 负责函数的 定 义 和变量的 定 义 , 但是 不 负责函数的 声明和变量的 声明
比如: unsigned char ucLedStep=0; //这 个 是 全局变量的 定 义 void led_flicker() //这 个 是 函数的 定 义 { //…里面是 具体代码内容 } 第 三个 :
h 头文 件 只 负责函数的 声明和变量的 声明, 以 及常 量和IO 口的 宏 定 义 ,但是 不 负责函数的 定 义 和变量的 定 义
比如: #define const_time_level 200