最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

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

求助,c51頭文件的問題

作者:guochao 欄目:單片機(jī)
求助,c51頭文件的問題
新學(xué)C51遇到一個問題,我寫了一個頭文件,有函數(shù)的聲明和一個變量的聲明,然后兩個源文件都#include它,在頭文件中我已經(jīng)用#ifndef,#define,#endif,但是在編譯的時候還是說*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
重復(fù)定義,后來我在定義的前面加上了extern就OK。
我想問已經(jīng)用了條件編譯怎么還是有這個問題啊?為什么只有變量有這個錯誤而函數(shù)沒有啊,多謝啊

2樓: >>參與討論
coke
re
最好將所有的變量只能在.C程序中定義. 在.h文件中聲明.
函數(shù)也是一樣的. 你在你的.h中用extern 聲明后被其他函數(shù)包含后.其他函數(shù)在連接時候就會自動到其他C文件中尋找該變量.

3樓: >>參與討論
guochao
多謝,但這個問題還是不明白
舉例來說吧
頭文件  example.h
#ifndef  _I_
#define  _I_
   CHAR data i;
   void a (void);
   
#endif

一個源文件:
#include <example.h>

main(){
     a();
}

另一個源文件
#include <example.h>

void a (void)
{
   ;
}
這樣也會出現(xiàn)重復(fù)定義的錯誤,暈啊

4樓: >>參與討論
陳雙君
這樣寫也能有用的啊.
這樣寫也能有用的啊.
什么情況下你用這個??

這種也只是在平日里玩玩用的.

5樓: >>參與討論
guochao
是沒用啊,就是為了說明這個問題啊
同一個頭文件被兩個源文件包含,已經(jīng)用了#ifndef,在編譯的時候還是出現(xiàn)了 MULTIPLE PUBLIC DEFINITIONS 這個錯誤 

6樓: >>參與討論
coke
re
我不知道你的
#ifndef  _I_
#define  _I_
有什么作用. 在你的程序里根本就沒有#define _I_
為不出錯. 干脆這么說吧. 任何函數(shù)和變量都不要在.h文件中定義.
任何函數(shù)和變量如果會被其他文件用到.就將他們在自己的.h文件中聲明. ok
如果想搞清楚.建議看看uc/os II. 有很好的例子.

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
花了幾天時間寫了個俄羅斯方塊程序,希望大家喜歡
請問各位,用C51編程時,如何給C中的一個變量指定存儲單元
誰用過CH452,穩(wěn)定性怎么樣啊?
請教一個74HC164的顯示問題
上海華為招聘
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入


Copyright © 1998-2006 udpf.com.cn 浙ICP證030469號