程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 深刻懂得C預處置器

深刻懂得C預處置器

編輯:關於C++

深刻懂得C預處置器。本站提示廣大學習愛好者:(深刻懂得C預處置器)文章只能為提供參考,不一定能成為您想要的結果。以下是深刻懂得C預處置器正文


C 預處置器不是編譯器的構成部門,是編譯進程中一個零丁的步調。C預處置器只是一個文本調換對象,它會指導編譯器在現實編譯之前完成所需的預處置。

一切的預處置器敕令都是以井號(#)開首。它必需是第一個非空字符,為了加強可讀性,預處置器指令應從第一列開端。

下表包括一切主要的預處置器指令:

指令

描寫

#define

界說宏

#include

包括一個源代碼文件

#undef

撤消已界說的宏

#ifdef

假如宏曾經界說,則前往真

#ifndef

假如宏沒有界說,則前往真

#if

假如給定前提為真,則編譯上面代碼

#else

#if 的替換計劃

#elif

假如後面的 #if 給定前提不為真,以後前提為真,則編譯上面代碼

#endif

停止一個 #if……#else 前提編譯塊

#error

當碰到尺度毛病時,輸入毛病新聞

#pragma

應用尺度化辦法,向編譯器宣布特別的敕令到編譯器中

#line

供給用於編譯器信息的行號

預界說宏

ANSI C界說了很多宏。在編程中可使用這些宏,然則不克不及直接修正這些預界說的宏。

描寫

__DATE__

以後日期,以 "MMM DD YYYY" 格局表現的字符常量。

__TIME__

以後時光,以 "HH:MM:SS" 格局表現的字符常量。

__FILE__

包括以後文件名,字符串常量。

__LINE__

包括以後行號,十進制常量。

__STDC__

當編譯器以ANSI尺度編譯時,則界說為 1。

__STDC__VERSION__

假如編譯器遵守C99,則該宏的值是199901L,其他情形下,該宏沒界說。

__STDC__HOSTED__

以後是宿主體系,該宏值為1,以後是自力體系,該宏值為0。

__STDC__IEC__559__

若浮點完成遵守IEC 60599尺度,該宏值為1,不然無界說。

__STDC__IEC__559__COMPLEX__

若單數運算完成遵守IEC 60559尺度,則該宏值為1,不然不決義。

__STDC__ISO10646__

界說為一個長整數常量。

預處置器運算符

C預處置器供給了以下運算符贊助創立宏:

1、宏延續運算符(\)

一個宏平日寫在一個單行上。然則假如宏太長,單行包容不下,則應用宏延續運算符(\)。

2、字符串常量化運算符(#)

在宏界說中,當須要把宏的參數轉換為字符串常量時,則應用字符串常量化運算符(#)。在宏中應用的該運算符有一個特定的參數或參數列表。

3、標志粘貼運算符(##)

宏界說內的標志粘貼運算符(##)匯合並兩個參數。它許可在宏界說中兩個自力的標志被歸並為一個標志。

4、defined()運算符

預處置器defined運算符是用在常量表達式中,用來肯定一個標識符能否曾經應用 #define界說過。假如指定的標識符已界說,則值為真(非零)。假如指定的標識符不決義,則值為假(零)。

參數化的宏

CPP一個壯大的功效是可使用參數化的宏來模仿函數。

在應用帶有參數的宏之前,必需應用#define指令界說。參數列表是括在圓括號內,且必需緊跟在宏稱號的後邊。宏稱號和左圓括號之間不許可有空格。

以上這篇深刻懂得C預處置器就是小編分享給年夜家的全體內容了,願望能給年夜家一個參考,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved