新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > #ifndef 在頭文件中的作用

#ifndef 在頭文件中的作用

作者: 時間:2016-11-25 來源:網(wǎng)絡(luò) 收藏
在一個大的軟件工程里面,可能會有多個文件同時包含一個頭文件,當(dāng)這些文件編譯鏈接成一個可執(zhí)行文件時

,就會出現(xiàn)大量“重定義”的錯誤。在頭文件中實(shí)用#ifndef #define #endif能避免頭文件的重定義。

本文引用地址:http://www.2s4d.com/article/201611/321342.htm

方法:例如要編寫頭文件test.h

在頭文件開頭寫上兩行:

#ifndef _TEST_H

#define _TEST_H//一般是文件名的大寫

頭文件結(jié)尾寫上一行:

#endif

這樣一個工程文件里同時包含兩個test.h時,就不會出現(xiàn)重定義的錯誤了。

分析:當(dāng)?shù)谝淮伟瑃est.h時,由于沒有定義_TEST_H,條件為真,這樣就會包含(執(zhí)行)#ifndef _TEST_H和

#endif之間的代碼,當(dāng)?shù)诙伟瑃est.h時前面一次已經(jīng)定義了_TEST_H,條件為假,#ifndef _TEST_H和

#endif之間的代碼也就不會再次被包含,這樣就避免了重定義了。

#ifndef __74HC595_H__
#define __74HC595_H__



#endif

#ifndef _optimizedvector_h // if not define _optimizedvector_h
#define _optimizedvector_h // then define _optimizedvector_h

通俗點(diǎn)就是如果沒定義_optimizedvector_h,那就定義_optimizedvector_h,防止重復(fù)編譯




關(guān)鍵詞: ifndef頭文

評論


技術(shù)專區(qū)

關(guān)閉