這篇文章將為大家詳細(xì)講解有關(guān)c語(yǔ)言中include的使用方法,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
蘇尼特右網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),蘇尼特右網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為蘇尼特右上1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的蘇尼特右做網(wǎng)站的公司定做!
1、#include 命令介紹
#include 命令是預(yù)處理命令的一種,預(yù)處理命令可以將別的源代碼內(nèi)容插入到所指定的位置;可以標(biāo)識(shí)出只有在特定條件下才會(huì)被編譯的某一段程序代碼;
可以定義類似標(biāo)識(shí)符功能的宏,在編譯時(shí),預(yù)處理器會(huì)用別的文本取代該宏。
2、插入頭文件的內(nèi)容
#include 命令告訴預(yù)處理器將指定頭文件的內(nèi)容插入到預(yù)處理器命令的相應(yīng)位置。有兩種方式可以指定插入頭文件:
#include <文件名> #include "文件名"
如果需要包含標(biāo)準(zhǔn)庫(kù)頭文件或者實(shí)現(xiàn)版本所提供的頭文件,應(yīng)該使用第一種格式。如下例所示:
#include// 一些數(shù)學(xué)函數(shù)的原型,以及相關(guān)的類型和宏
如果需要包含針對(duì)程序所開(kāi)發(fā)的源文件,則應(yīng)該使用第二種格式。采用 #include 命令所插入的文件,通常文件擴(kuò)展名是 .h,文件包括函數(shù)原型、宏定義和類型定義。
只要使用 #include 命令,這些定義就可被任何源文件使用。如下例所示:
#include "myproject.h" // 用在當(dāng)前項(xiàng)目中的函數(shù)原型、類型定義和宏
你可以在 #include 命令中使用宏。如果使用宏,該宏的取代結(jié)果必須確保生成正確的 #include 命令。
例 1 展示了這樣的 #include 命令。
【例1】在 #include 命令中的宏
#ifdef _DEBUG_ #define MY_HEADER "myProject_dbg.h" #else #define MY_HEADER "myProject.h" #endif #include MY_HEADER
當(dāng)上述程序代碼進(jìn)入預(yù)處理時(shí),如果 DEBUG 宏已被定義,那么預(yù)處理器會(huì)插入 myProject_dbg.h 的內(nèi)容;如果還沒(méi)定義,則插入 myProject.h 的內(nèi)容。
3、預(yù)處理器如何找到頭文件
由給定的 C 語(yǔ)言實(shí)現(xiàn)版本決定 #include 命令所指定文件的搜索路徑。同時(shí),也由實(shí)現(xiàn)版本決定文件名是否區(qū)分大小寫(xiě)。對(duì)于命令中使用尖括號(hào)指定的文件(),預(yù)處理器通常會(huì)在特定的系統(tǒng)路徑下搜索,例如,在 Unix 系統(tǒng)中,會(huì)搜索路徑 /usr/local/include 與 /usr/include。
對(duì)于命令中用雙引號(hào)指定的文件("文件名"),預(yù)處理器通常首先在當(dāng)前目錄下尋找,也就是包含該程序其他源文件的目錄。如果在當(dāng)前目錄下沒(méi)有找到,那么預(yù)處理器也會(huì)搜索系統(tǒng)的 include 路徑。文件名中可以包含路徑。但如果文件名中包含了路徑,則預(yù)處理器只會(huì)到該目錄下尋找。
你也可以通過(guò)使用編譯器命令行選項(xiàng),或在環(huán)境變量(該變量通常稱為 INCLUDE)中加入搜索路徑,為 #include 命令指定自己的搜索路徑。具體的做法請(qǐng)參考采用的編譯器的說(shuō)明文檔。
4、嵌套的 #include 命令
#include 命令可以嵌套使用;也就是說(shuō),通過(guò) #include 命令插入的源文件本身也可以包含另一個(gè) #include 命令。預(yù)處理器最多允許 15 層的嵌套包含。
因?yàn)轭^文件有時(shí)候會(huì)包含另一個(gè)頭文件,很容易發(fā)生相同的一個(gè)文件被多次包含的情況。例如,假設(shè)文件 myProject.h 中包含如下代碼:
#include
如果源文件包含下面的 #include 命令,就會(huì)兩次包含 stdio.h,一次是直接包含,另一次是間接包含:
#include#include "myProject.h"
然而,可以采用條件式編譯的命令,方便地避免多次包含相同的文件。例 2 使用了這個(gè)技巧。
【例2】避免多次包含
#ifndef INCFILE_H_ #define INCFILE_H_ /* ...實(shí)際的頭文件incfile.h的內(nèi)容寫(xiě)在這里... */ #endif /* INCFILE_H_ */
第一次出現(xiàn)包含 incfile.h 的命令時(shí),INCFILE_H_ 宏是沒(méi)有定義的。預(yù)處理器因此插入 #ifndef 和 #endif 之間的內(nèi)容,這段內(nèi)容包含了對(duì) INCFILE_H_ 宏的定義。嵌入 incfile.h 文件之后,#ifndef 條件就會(huì)為 false,預(yù)處理器會(huì)忽略 #ifndef 和 #endif 之間的內(nèi)容。
關(guān)于c語(yǔ)言中include的使用方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。