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

登錄 免費(fèi)注冊(cè) 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場(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

一直不太明白,C中防止重復(fù)定義時(shí)非要加下劃線干嘛?

作者:風(fēng)... 欄目:單片機(jī)
一直不太明白,C中防止重復(fù)定義時(shí)非要加下劃線干嘛?
譬如:
#ifndef _UARTH_
#define _UARTH_

#endif

納悶,可否指點(diǎn)一下?

2樓: >>參與討論
szyzm
我也不明白!!
 
3樓: >>參與討論
綠陰深處
你不加也可以
沒什么強(qiáng)制要求。
之所以很多地方(特別是系統(tǒng)定義的)加下劃線,我想是一種習(xí)慣,為了和普通變量和定義區(qū)分。

4樓: >>參與討論
滌綸
回復(fù)
   用是這么用了,為什么也不知道,不會(huì)這么多人都有這習(xí)慣,還等高人指點(diǎn)一下吧。

5樓: >>參與討論
IceAge
加下劃線是為了防止重復(fù)定義 :-)
因?yàn)榇蠖鄶?shù)名稱沒有下劃線, 這樣可以避免名稱沖突,也便于識(shí)別。

6樓: >>參與討論
奔騰的心
就是個(gè)好習(xí)慣,無他
 
7樓: >>參與討論
風(fēng)...
可是:
以下這一段是在文件名為uart.h的文件里的,

#ifndef _UARTH_
#define _UARTH_

#endif

有的也用“#ifndef UART_H”的,反正有很多變種,好像似乎為了躲避文件名中的點(diǎn)“.”,而且_UARTH_、UART_H等,與其文件名緊密相連的。

納悶……

唉,我一直以為這是一個(gè)弱智問題呢^_^

8樓: >>參與討論
computer00
我一般用兩個(gè)下劃線,例如#define __UART_H__
這樣在取名字時(shí),一般都不用顧忌它是否已經(jīng)被用了。 因?yàn)樽兞亢苌偃∵@么奇怪的名字。

9樓: >>參與討論
AIRWILL
不過,一旦起名成了習(xí)慣
  這怪名也就不怪啦,沖突也會(huì)難免啦
也許這就說編程語言的缺陷啦

10樓: >>參與討論
xwj
就是作為特殊標(biāo)識(shí),和普通的定義區(qū)分開,防止重名
譬如:
#ifndef _UARTH_            //如果沒有定義
#define _UARTH_            //那么定義標(biāo)志
                //下面跟著一堆正常的定義
    
#endif                 //結(jié)束這個(gè)if[/#]

因?yàn)楹芏囝^文件可能被多個(gè)文件包含,很多時(shí)候會(huì)出現(xiàn)重復(fù)定義的錯(cuò)誤

而采用這種寫法時(shí),當(dāng)重復(fù)包含這個(gè)文件時(shí),第一次編譯到#ifndef _UARTH_時(shí)條件滿足,if里面的宏定義執(zhí)行一次,
再次編譯到#ifndef _UARTH_時(shí)條件不滿足,if里面的宏定義就不會(huì)再執(zhí)行了,也就不會(huì)出現(xiàn)重復(fù)定義的錯(cuò)誤了



11樓: >>參與討論
風(fēng)...
非常感謝樓上各位大師,小生有禮了
也就是說,這只是一個(gè)習(xí)慣,而實(shí)際上用什么都行?是吧?

唉,我一直在想,這個(gè)奇怪的命名與其文件名有什么關(guān)系呢!

再次感謝大家的指點(diǎn),開始有些醒悟了^_^

12樓: >>參與討論
meng730507
這只是一個(gè)命名規(guī)則
當(dāng)然,如果你有更好的方法,也可以不用這個(gè)規(guī)則.

13樓: >>參與討論
computer00
樓主來看看這個(gè)日志:
http://blog.21ic.com/more.asp?NAME=computer00&id=11021

14樓: >>參與討論
風(fēng)...
非常感謝樓上各位高手的指點(diǎn),非常感謝!
一定再仔細(xì)看看!
謝謝啦!

15樓: >>參與討論
fushaobing
我也不明白
那為什么包含的時(shí)候文件名是“UART_H”而不是“__UART_H__”呢?

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
__三端穩(wěn)壓7805發(fā)熱量巨大!
傳輸按鍵開關(guān)量的帖子續(xù)!
簡(jiǎn)單電路,不簡(jiǎn)單
請(qǐng)教 關(guān)于C51中調(diào)用匯編的兩個(gè)問題,謝謝
9v電池如何給3.3v系統(tǒng)供電?請(qǐng)高手指點(diǎn)一下
免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


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