C 預處理 一 include

2021-09-03 05:40:08 字數 930 閱讀 8231

c++的預處理(preprocess),是指在c++程式源**被編譯之前,由預處理器(preprocessor)對c++程式源**進行的處理。這個過程並不對程式的源**進行解析,但它把源**分割或處理成為特定的符號用來支援巨集呼叫。

預處理器的主要作用就是把通過預處理的內建功能對乙個資源進行等價替換,最常見的預處理有:檔案包含,條件編譯、布局控制和巨集替換4種。

檔案包含:#include 是一種最為常見的預處理,主要是做為檔案的引用組合源程式正文。

條件編譯:#if,#ifndef,#ifdef,#endif,#undef等也是比較常見的預處理,主要是進行編譯時進行有選擇的挑選,注釋掉一些指定的**,以達到版本控制、防止對檔案重複包含的功能。

布局控制:#progma,這也是我們應用預處理的乙個重要方面,主要功能是為編譯程式提供非常規的控制流資訊。

巨集替換: #define,這是最常見的用法,它可以定義符號常量、函式功能、重新命名、字串的拼接等各種功能。

今天我們首先接受檔案包含#include

標頭檔案通常以.h結尾,其 內容可使用#include預處理器指令包含到程式中,標頭檔案中一般包含: 函式原型與全域性變數,形式常有下面兩種

#include

#include

"myheader.h"

符號

#include <>

#include 「」

索引先後順序先後

優先順序低

高查詢位置

標準庫標頭檔案所在目錄

當前原始檔所在目錄

區別是若 #include 「」 查詢成功,則遮蔽 #include <> 所能找到的同名檔案;否則再按照 #include <> 的方式查詢檔案。另外標準庫標頭檔案都放在 #include <> 所查詢的位置。

include預處理機制詳解

1.include 命令的作用 1.1 什麼情況不使用 include 檔案 void test a 檔案 void test a 函式宣告 void test b 其實,這樣的工程,可以不用使用 include 預編譯命令。1.2 什麼情況使用 include 如果工程裡面的函式特別多,那麼按照上...

C語言 預處理一(檔案包含 include)

預處理命令不需要在結束末尾加 inlude可以包含任意型別的檔案 inlude 將乙個原始檔的全部內容包含到另乙個原始檔中,成為它的乙個部分,檔案包含的一般格式為 include 檔名 或者 include 檔名 兩種形式的區別在於 使用尖括號表示在系統頭檔案目錄中查詢 由使用者在設定程式設計環境時...

c 預處理和預處理命令

預處理發生在編譯之前,預處理輸出的是乙個單一的檔案,這個檔案被送到編譯器,進行編譯。每條預處理命令都控制預處理器的行為。每條預處理命令佔據一行,有以下的格式 character 預處理命令 one of define,undef,include,if,ifdef,ifndef,else,elif,e...