新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > #ifndef 在頭文件中的作用

        #ifndef 在頭文件中的作用

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

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

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

        方法:例如要編寫頭文件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 __74HC595_H__
        #define __74HC595_H__



        #endif

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

        通俗點就是如果沒定義_optimizedvector_h,那就定義_optimizedvector_h,防止重復編譯




        關鍵詞: ifndef頭文

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 天镇县| 禹州市| 滨海县| 武山县| 宿州市| 哈巴河县| 江都市| 尚义县| 蒙城县| 全椒县| 望谟县| 青神县| 萨嘎县| 永平县| 长阳| 桐梓县| 连山| 延安市| 封开县| 晋江市| 连城县| 怀柔区| 慈溪市| 太白县| 长顺县| 商城县| 乌兰察布市| 灵武市| 建瓯市| 城口县| 大同市| 吉首市| 阳泉市| 汝南县| 甘肃省| 乌苏市| 弋阳县| 益阳市| 广南县| 大竹县| 南川市|