標(biāo)題: [求助]模塊化編程和頭文件的問題 [打印本頁]

作者: 揚揚    時間: 2010-8-17 13:51
標(biāo)題: [求助]模塊化編程和頭文件的問題

哪位大蝦幫下忙..自己寫了個delay的頭文件,放到KEIL下的INC里面.在用模塊化的方式編寫另一個工程里的代碼的時候要用到delay函數(shù),把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

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

 

 


作者: 一首因為了解    時間: 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的文件中吧
作者: kmopty    時間: 2014-7-31 17:40
所有的頭文件建議參考以下的規(guī)則:
1、頭文件中不能有可執(zhí)行代碼,也不能有數(shù)據(jù)的定義,只能有宏、類型(typedef,struct,union,menu),數(shù)據(jù)和函數(shù)的聲明。 全局變量和函數(shù)的定義不能出現(xiàn)在*.h文件里。
2、頭文件中不能包本地數(shù)據(jù)(模塊自己使用的數(shù)據(jù)或函數(shù),不被其他模塊使用)。這一點相當(dāng)于面向?qū)ο蟪绦蛟O(shè)計里的私有成員,即只有模塊自己使用的函數(shù),數(shù)據(jù),不要用extent在頭文件里聲明,只有模塊自己使用的宏,常量,類型也不要在頭文件里聲明,應(yīng)該在自己的*.c文件里聲明。
3、含一些需要使用的聲明。在頭文件里聲明外部需要使用的數(shù)據(jù),函數(shù),宏,類型。
4、防止被重復(fù)包含。使用下面的宏防止一個頭文件被重復(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
作者: dyun1988    時間: 2014-10-10 21:45
學(xué)習(xí)了!。。。。。。。。。。。。。!




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1