頭文件中的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之間的代碼也就不會再次被包含,這樣就避免了重定義了。主要用於防止重復定義宏和重復包含頭文件

 

ifndef/define/endif 的含義:如果未定義 / 那么定義 / 完成假設

一般是用來防止頭文件被重復包含,提高編譯效率的。]

 

這是C++預編譯頭文件保護符,保證即使文件被多次包含,頭文件也只定義一次。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM