課程
/后端開發(fā)
/C++
/C++遠征之多態(tài)篇
還是不明白宏到底是干嘛的
2018-05-18
源自:C++遠征之多態(tài)篇 3-6
正在回答
百度百科概念:宏(Macro),是一種批量處理的稱謂。計算機科學(xué)里的宏是一種抽象(Abstraction),它根據(jù)一系列預(yù)定義的規(guī)則替換一定的文本模式。解釋器或編譯器在遇到宏時會自動進行這一模式替換。對于編譯語言,宏展開在編譯時發(fā)生,進行宏展開的工具常被稱為宏展開器。宏這一術(shù)語也常常被用于許多類似的環(huán)境中,它們是源自宏展開的概念,這包括鍵盤宏和宏語言。絕大多數(shù)情況下,“宏”這個詞的使用暗示著將小命令或動作轉(zhuǎn)化為一系列指令。
課程里使用宏定義防止重定義我是這樣理解的:
#ifndef XXX_H? //編譯時編譯器檢測 XXX_H 是否已被定義,若無則執(zhí)行下列代碼
#define XXX_H? //宏定義 XXX_H
……
#endif //結(jié)束語句
在文件開頭加入這兩行代碼,編譯器第一次編譯該文件時,XXX_H未被定義,執(zhí)行該文件的編譯,定義XXX_H;
當(dāng)程序需要第二次編譯該文件時,由于XXX_H已被定義,編譯器便不會再次進行編譯,也就防止了重定義。
舉報
本教程將帶領(lǐng)大家體會面向?qū)ο笕筇匦灾械亩鄳B(tài)特性
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2018-05-18
百度百科概念:宏(Macro),是一種批量處理的稱謂。計算機科學(xué)里的宏是一種抽象(Abstraction),它根據(jù)一系列預(yù)定義的規(guī)則替換一定的文本模式。解釋器或編譯器在遇到宏時會自動進行這一模式替換。對于編譯語言,宏展開在編譯時發(fā)生,進行宏展開的工具常被稱為宏展開器。宏這一術(shù)語也常常被用于許多類似的環(huán)境中,它們是源自宏展開的概念,這包括鍵盤宏和宏語言。絕大多數(shù)情況下,“宏”這個詞的使用暗示著將小命令或動作轉(zhuǎn)化為一系列指令。
課程里使用宏定義防止重定義我是這樣理解的:
#ifndef XXX_H? //編譯時編譯器檢測 XXX_H 是否已被定義,若無則執(zhí)行下列代碼
#define XXX_H? //宏定義 XXX_H
……
#endif //結(jié)束語句
在文件開頭加入這兩行代碼,編譯器第一次編譯該文件時,XXX_H未被定義,執(zhí)行該文件的編譯,定義XXX_H;
當(dāng)程序需要第二次編譯該文件時,由于XXX_H已被定義,編譯器便不會再次進行編譯,也就防止了重定義。