您好,登錄后才能下訂單哦!
這篇“C++中的預(yù)處理命令是什么”文章的知識點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“C++中的預(yù)處理命令是什么”文章吧。
C++預(yù)處理命令1、#define
命令#define定義了一個(gè)標(biāo)識符及一個(gè)串。在源程序中每次遇到該標(biāo)識符時(shí),均以定義的串代換它。ANSI標(biāo)準(zhǔn)將標(biāo)識符定義為宏名,將替換過程稱為宏 替換。命令的一般形式為:
#define identifier string
注意:
該語句沒有分號。在標(biāo)識符和串之間可以有任意個(gè)空格,串一旦開始,僅由一新行結(jié)束。
宏名定義后,即可成為其它宏名定義中的一部分。
宏替換僅僅是以文本串代替宏標(biāo)識符,前提是宏標(biāo)識符必須獨(dú)立的識別出來,否則不進(jìn)行替換。例如:
#define XYZ this is a test,使用宏printf("XYZ");//該段不打印"this is a test"而打印"XYZ"。因?yàn)轭A(yù)編譯器識 別出的是"XYZ"
如果串長于一行,可以在該行末尾用一反斜杠' \'續(xù)行。
C++預(yù)處理命令2、#error
處理器命令#error強(qiáng)迫編譯程序停止編譯,主要用于程序調(diào)試。
C++預(yù)處理命令3、#i nclude
命令#i nclude使編譯程序?qū)⒘硪辉次募度霂в?i nclude的源文件,被讀入的源文件必須用雙引號或尖括號括起來。例如:
#include"stdio.h"或者#include
這兩行代碼均使用C編譯程序讀入并編譯用于處理磁盤文件庫的子程序。
將文件嵌入#include命令中的文件內(nèi)是可行的,這種方式稱為嵌套的嵌入文件,嵌套層次依賴于具體實(shí)現(xiàn)。
如果顯式路徑名為文件標(biāo)識符的一部分,則僅在哪些子目錄中搜索被嵌入文件。否則,如果文件名用雙引號括起來,則首先檢索當(dāng)前工作目錄。如果未發(fā)現(xiàn)文件, 則在命令行中說明的所有目錄中搜索。如果仍未發(fā)現(xiàn)文件,則搜索實(shí)現(xiàn)時(shí)定義的標(biāo)準(zhǔn)目錄。
如果沒有顯式路徑名且文件名被尖括號括起來,則首先在編譯命令行中的目錄內(nèi)檢索。
如果文件沒找到,則檢索標(biāo)準(zhǔn)目錄,不檢索當(dāng)前工作目錄。
以上就是關(guān)于“C++中的預(yù)處理命令是什么”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。