音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

請(qǐng)問(wèn)一個(gè)頭文件的包含問(wèn)題

作者:future_god 欄目:嵌入式系統(tǒng)
請(qǐng)問(wèn)一個(gè)頭文件的包含問(wèn)題
我在abc.h中定義了申明了函數(shù)的原型
在abc.c中寫(xiě)了函數(shù)的實(shí)現(xiàn)并且#include "abc.h"
在main.c中#include "abc.h",但是編譯時(shí)總會(huì)出現(xiàn)
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  _FFT
    MODULE:  main.obj (MAIN)
但是函數(shù)的實(shí)現(xiàn)就在abc.c中啊.是不是應(yīng)該把a(bǔ)bc.c也要
加入工程呢?
我用的是keil c .
希望高手指點(diǎn)一下.謝謝!! 

2樓: >>參與討論
future_god
還有
我在abc.h文件前面還寫(xiě)了#ifndef FFT_H
.............................
................................
                       #endif
在abc.c文件前寫(xiě)了#define FFT_H
編譯main.c時(shí)的時(shí)候就出現(xiàn)我所說(shuō)的問(wèn)題.



3樓: >>參與討論
hiberhe
你的ifndef用錯(cuò)了!
頭文件應(yīng)該這樣寫(xiě):(當(dāng)然_ABC_H_這個(gè)符號(hào)就看個(gè)人習(xí)慣了)
#ifndef _ABC_H_
#define _ABC_H_

// 這兒才頭文件的內(nèi)容

#endif

你在main.c中用define,而在頭文件中用的是ifndef,如果你的define在include之前,當(dāng)然就不可能包含頭文件啦:)

4樓: >>參與討論
future_god
謝謝hiberhe兄的解答!!可是還有問(wèn)題....
現(xiàn)在的寫(xiě)法是
/**abc.h*/
#ifndef _ABC_H_
#define _ABC_H_

// 這兒是頭文件的內(nèi)容

#endif


/**abc.c**/

#include    <math.h>
#include    "abc.h"

#define _ABC_H_

//下面是abc.h中申明的函數(shù)的實(shí)現(xiàn)
....................
...................



/**main.c**/
#include "abc.h"
#include 其他文件


但是這樣寫(xiě)還是有我說(shuō)到的錯(cuò)誤..很迷惑.....啊




5樓: >>參與討論
future_god
剛才computer00說(shuō)abc.c中不要寫(xiě)#define _ABC_H
剛才computer00說(shuō)abc.c中不要寫(xiě)#define _ABC_H
可是還是不行啊!!


6樓: >>參與討論
computer00
你都先define了,再include,后邊的就不編譯了,相當(dāng)于沒(méi)include
現(xiàn)在的寫(xiě)法是
/**abc.h*/
#ifndef _ABC_H_
#define _ABC_H_

// 這兒是頭文件的內(nèi)容

#endif


/**abc.c**/

#include    <math.h>
#include    "abc.h"

#define _ABC_H_

//下面是abc.h中申明的函數(shù)的實(shí)現(xiàn)
....................
...................



/**main.c**/
#include "abc.h"
#include 其他文件


你在abc.c中使用了#define _ABC_H_,然后再#include "abc.h",這
樣,abc.h中的#ifndef _ABC_H_就變得不成立了,自然后面的就不會(huì)
被編譯,編譯器當(dāng)然會(huì)說(shuō)未定義了。

* - 本貼最后修改時(shí)間:2005-9-4 23:51:27 修改者:computer00

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請(qǐng)問(wèn)高手 怎樣修改wince 的顯示分辨率?
我想把 ARM 44B0 開(kāi)發(fā)板改為ROM 模擬,哪位大蝦給點(diǎn)意建
100個(gè)最佳linux站點(diǎn),請(qǐng)參考!(轉(zhuǎn)貼)
請(qǐng)問(wèn)你們?cè)谟肅51編程的時(shí)候一般用的是什么編譯軟件?
有人用RABBIT2000嗎?誰(shuí)有UCOS2.LIB(能用)扶貧一個(gè),用于學(xué)習(xí).
免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)