找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5861|回复: 4
打印 上一主题 下一主题
收起左侧

[求助]模块化编程和头文件的问题

[复制链接]
跳转到指定楼层
楼主
ID:17725 发表于 2010-8-17 13:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

哪位大虾帮下忙..自己写了个delay的头文件,放到KEIL下的INC里面.在用模块化的方式编写另一个工程里的代码的时候要用到delay函数,把delay.h包含进去了为什么会报错,不能用?不用模块化的方式写的时候又可以包含进来用?

 

#ifndef __DELAY_H__
#define __DELAY_H__
#define uint unsigned int
void delay(uint k)
{

   uint i,j;       
   for(i=0;i<k;i++)
   for(j=0;j<110;j++);

}
#endif

哪位肯帮下我这个菜鸟???!!!感激不尽!!

 

 

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:52908 发表于 2013-8-16 19:44 | 只看该作者
你的那个void delay(uint k)
{

   uint i,j;        
   for(i=0;i<k;i++)
   for(j=0;j<110;j++);

}
这一部分该房.c的文件中吧
回复

使用道具 举报

板凳
ID:4565 发表于 2014-7-31 17:40 | 只看该作者
所有的头文件建议参考以下的规则:
1、头文件中不能有可执行代码,也不能有数据的定义,只能有宏、类型(typedef,struct,union,menu),数据和函数的声明。 全局变量和函数的定义不能出现在*.h文件里。
2、头文件中不能包本地数据(模块自己使用的数据或函数,不被其他模块使用)。这一点相当于面向对象程序设计里的私有成员,即只有模块自己使用的函数,数据,不要用extent在头文件里声明,只有模块自己使用的宏,常量,类型也不要在头文件里声明,应该在自己的*.c文件里声明。
3、含一些需要使用的声明。在头文件里声明外部需要使用的数据,函数,宏,类型。
4、防止被重复包含。使用下面的宏防止一个头文件被重复 包含。
#ifndef MY_INCLUDE_H
#define MY_INCLUDE_H
<头文件内容 >
#endif
包含extern "C",使C的程序可以在C++编译器被编译。
#ifdef __cplusplus
extern "C"{
#endif
<函数声明 >
#ifdef __cplusplus
}
#enfif
回复

使用道具 举报

地板
ID:33668 发表于 2014-10-10 21:45 | 只看该作者
学习了!!!!!!!!!!!!!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表