国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
編譯預(yù)處理指令【精】
譯預(yù)處理指令:在正式編譯之前,對(duì)源程序進(jìn)行預(yù)先的處理。全部以符號(hào)“?!遍_(kāi)始,每條指令占一行

include 文件包含指令

指示編譯器將一個(gè)源文件嵌入到當(dāng)前源文件中該指令處。

#include <> //聲明公共的系統(tǒng)標(biāo)準(zhǔn)函數(shù)

#include “”   //聲明用自定義的常量、變量和函數(shù)

頭文件本質(zhì):

函數(shù)調(diào)用出現(xiàn)在函數(shù)定義之前,或者調(diào)用在其他文件中(如系統(tǒng)庫(kù))定義的函數(shù),必須先進(jìn)行函數(shù)聲明。系統(tǒng)函數(shù)按其功能被分成幾大類,對(duì)應(yīng)每類函數(shù)有一個(gè)頭文件,其中給出了這一類函數(shù)的原形聲明。所以,只需在程序中使用#include指令包含相應(yīng)的頭文件,而不必在程序中直接進(jìn)行函數(shù)的聲明。

       以多文件方式組織的程序常常需要在各文件之間共享一些常量聲明、變量聲明、結(jié)構(gòu)聲明、函數(shù)聲明和宏定義,可以將這些語(yǔ)句放在一個(gè)C++頭文件中(以h作擴(kuò)展名),然后利用#include指令將頭文件包含到需要這些內(nèi)容的源文件中。

個(gè)人理解:因?yàn)?/span>C++語(yǔ)言特點(diǎn)(見(jiàn)上)的緣故,所以需要頭文件組織文件結(jié)構(gòu),而C#是完全面向?qū)ο蟮?,基本類型都是?duì)象,常量、結(jié)構(gòu)、函數(shù)都是封裝在類中的,就不需要頭文件,類本身就是非常好的組織結(jié)構(gòu),只需添加相應(yīng)類的引用即可。

頭文件的其他作用:

一、通過(guò)頭文件來(lái)調(diào)用庫(kù)功能。在很多場(chǎng)合,源代碼不便(或不準(zhǔn))向用戶公布,只要向用戶提供頭文件和二進(jìn)制的庫(kù)即可。用戶只需要按照頭文件中的接口聲明來(lái)調(diào)用庫(kù)功能,而不必關(guān)心接口怎么實(shí)現(xiàn)的。編譯器會(huì)從庫(kù)中提取相應(yīng)的代碼。

二、頭文件能加強(qiáng)類型安全檢查。如果某個(gè)接口被實(shí)現(xiàn)或被使用時(shí),其方式與頭文件中的聲明不一致,編譯器就會(huì)指出錯(cuò)誤,這一簡(jiǎn)單的規(guī)則能大大減輕程序員調(diào)試、改錯(cuò)的負(fù)擔(dān)。

define 宏定義指令

宏是一個(gè)表示特定內(nèi)容的標(biāo)識(shí)符,被代表的內(nèi)容稱為宏體,編譯程序以定義的宏體代替我、源文件中的宏,稱為宏替換。

宏、內(nèi)聯(lián)、const

帶參數(shù)的宏與內(nèi)聯(lián)函數(shù)類似,但兩者有本質(zhì)區(qū)別。宏替換是在正式編譯之前,不進(jìn)行參數(shù)傳遞。函數(shù)調(diào)用發(fā)生在程序?qū)嶋H執(zhí)行時(shí),要進(jìn)行實(shí)參與形參的傳遞。使用宏的好處是它不需要調(diào)用及返回時(shí)的開(kāi)銷。

宏也有不安全因素,對(duì)于不帶參數(shù)的宏,使用const類型取代宏更安全。const會(huì)有類型檢查,而define只是簡(jiǎn)單的替換。

條件編譯指令

條件編譯預(yù)處理是指按照指定的條件決定哪些源程序段將被編譯,而哪些源程序段將不被編譯,從而使編譯程序能夠?qū)τ脩舻脑闯绦蛴羞x擇性地滿足一定條件的目標(biāo)程序。

在進(jìn)行條件編譯時(shí),常常將某個(gè)宏是否被定義作為條件編譯的條件,定義這種宏時(shí)只需給出宏名,不需要指定宏體,如下所示: define <宏名>

如果要取消前面定義的宏,可使用 undef <宏名>

1.         if…[#else]…#endif

2.         ifdef…[#else]…#endif

3.         ifndef…[#else]…#endif

#if 檢測(cè)后面的表達(dá)式的值的真假;#ifdef和#ifndef檢測(cè)后面的宏是否被定義

程序員在調(diào)試程序時(shí),經(jīng)常需要使用輸出語(yǔ)句顯示一些調(diào)試信息(比如看一些過(guò)程的中間值,了解執(zhí)行流程等),這時(shí)可以采用下面例題介紹的方法:在源程序開(kāi)頭位置定義一個(gè)調(diào)試宏,在所有調(diào)試信息輸出語(yǔ)句前加上#ifdef條件編譯指令,在程序調(diào)試完之后,為了不再顯示這些信息,只需刪除源程序開(kāi)頭位置的宏定義指令,重新編譯鏈接程序即可,程序其他地方無(wú)需改動(dòng)。++深刻理解這段話++

define DEBUG

main( )

{

       int nDebug = 5;

       int nRelease = 6;

#ifdef DEBUG

       cout << ”DEBUG : value is” << nDebug << endl;

#else

       cout << ”RELEASE : value is” << nRelease << endl;

#endif

       return ;

}

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C語(yǔ)言中如何去理解預(yù)處理階段
預(yù)處理,編譯, 優(yōu)化, 匯編, 鏈接
C語(yǔ)言中的預(yù)處理詳解
C語(yǔ)言入門之C 預(yù)處理器
《大學(xué)C語(yǔ)言程序設(shè)計(jì)》題庫(kù)-選擇題十一
計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C語(yǔ)言)第6章 編譯預(yù)處理
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服