找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6665|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

[求助]模塊化編程和頭文件的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:17725 發(fā)表于 2010-8-17 13:51 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

哪位大蝦幫下忙..自己寫了個(gè)delay的頭文件,放到KEIL下的INC里面.在用模塊化的方式編寫另一個(gè)工程里的代碼的時(shí)候要用到delay函數(shù),把delay.h包含進(jìn)去了為什么會(huì)報(bào)錯(cuò),不能用?不用模塊化的方式寫的時(shí)候又可以包含進(jìn)來用?

 

#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

哪位肯幫下我這個(gè)菜鳥???!!!感激不盡!!

 

 

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:52908 發(fā)表于 2013-8-16 19:44 | 只看該作者
你的那個(gè)void delay(uint k)
{

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

}
這一部分該房.c的文件中吧
回復(fù)

使用道具 舉報(bào)

板凳
ID:4565 發(fā)表于 2014-7-31 17:40 | 只看該作者
所有的頭文件建議參考以下的規(guī)則:
1、頭文件中不能有可執(zhí)行代碼,也不能有數(shù)據(jù)的定義,只能有宏、類型(typedef,struct,union,menu),數(shù)據(jù)和函數(shù)的聲明。 全局變量和函數(shù)的定義不能出現(xiàn)在*.h文件里。
2、頭文件中不能包本地?cái)?shù)據(jù)(模塊自己使用的數(shù)據(jù)或函數(shù),不被其他模塊使用)。這一點(diǎn)相當(dāng)于面向?qū)ο蟪绦蛟O(shè)計(jì)里的私有成員,即只有模塊自己使用的函數(shù),數(shù)據(jù),不要用extent在頭文件里聲明,只有模塊自己使用的宏,常量,類型也不要在頭文件里聲明,應(yīng)該在自己的*.c文件里聲明。
3、含一些需要使用的聲明。在頭文件里聲明外部需要使用的數(shù)據(jù),函數(shù),宏,類型。
4、防止被重復(fù)包含。使用下面的宏防止一個(gè)頭文件被重復(fù) 包含。
#ifndef MY_INCLUDE_H
#define MY_INCLUDE_H
<頭文件內(nèi)容 >
#endif
包含extern "C",使C的程序可以在C++編譯器被編譯。
#ifdef __cplusplus
extern "C"{
#endif
<函數(shù)聲明 >
#ifdef __cplusplus
}
#enfif
回復(fù)

使用道具 舉報(bào)

地板
ID:33668 發(fā)表于 2014-10-10 21:45 | 只看該作者
學(xué)習(xí)了。。。。。。。。。。。。。。!
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表