找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

關(guān)于#ifndef

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:104287 發(fā)表于 2016-1-30 04:15 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
     #ifndef為if not define的簡(jiǎn)寫(xiě),是宏定義的一種,它可以根據(jù)是否已經(jīng)定義了一個(gè)變量來(lái)進(jìn)行分支選擇,一般用于調(diào)試等等。為預(yù)處理功能中三種(宏定義、文件包含、條件編譯)中的一種----條件編譯。

#define x
...
#endif


#ifndef x
#define x
程序段1 //如果x沒(méi)有被宏定義過(guò),定義x,并編譯程序段 1
...
#endif
程序段2//如果x已經(jīng)定義過(guò)了則編譯程序段2的語(yǔ)句,“忽視”程序段 1。


        條件指示符#ifndef 的最主要目的是防止頭文件的重復(fù)包含和編譯。
        條件編譯當(dāng)然也可以用條件語(yǔ)句來(lái)實(shí)現(xiàn)。 但是用條件語(yǔ)句將會(huì)對(duì)整個(gè)源程序進(jìn)行編譯,生成的目標(biāo)代碼程序很長(zhǎng),而采用條件編譯,則根據(jù)條件只編譯其中的程序段1或程序段2,生成的目標(biāo)程序較短。如果條件選擇的程序段很長(zhǎng),采用條件編譯的方法是十分必要的。




=========================================================================
從起點(diǎn)對(duì)結(jié)束再見(jiàn)  你擁有的漸漸是傷痕... ...
---汪峰《當(dāng)我想你的時(shí)候》
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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