頭文件中的 ifndef/define/endif 作用?

在一個大的軟件工程裏面,可能會有多個文件同時包含一個頭文件,當這些文件編譯鏈接成一個可執行文件時,就會出現大量重定義的錯誤。在頭文件中使用#ifndef #define #endif能避免頭文件的重定義。
方法:例如要編寫頭文件test.h
在頭文件開頭寫上兩行:

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

頭文件結尾寫上一行:#endif
這樣一個工程文件裏同時包含兩個test.h時,就不會出現重定義的錯誤了。
分析:當第一次包含test.h時,由於沒有定義_TEST_H,條件爲真,這樣就會包含(執行)#ifndef _TEST_H和#endif之間的代碼,當第二次包含test.h時前面一次已經定義了_TEST_H,條件爲假,#ifndef _TEST_H和#endif之間的代碼也就不會再次被包含,這樣就避免了重定義了。主要用於防止重複定義宏和重複包含頭文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章