C語言條件處理命令與其他處理命令

2021-10-08 05:38:17 字數 1422 閱讀 8487

#include

#define test

//#開頭 以if開頭 必須以endif結尾

#ifdef test

void

print_message()

#else

void print_message

#endif

intmain

(int argc,

char

const

*ar**)

結果:

gcc -e con.c //用於檢視編譯過程

//取消已經定義的巨集

#undef test

//#開頭 以if開頭 必須以endif結尾

//#ifdef if defined如果已經定義

//#ifndef if not defined如果尚未定義

#ifdef test

void

print_message()

#else

void print_message

#endif

//這裡是條件起始,必須加上條件,否則會導致預編譯錯誤,其實是語法錯誤

#if 1

int a=

100;

//如果前乙個巨集不成立,才會處理下面的,此時如果沒有規定成立條件,會導致報錯

#elif

//else if 需要加條件

int a=

1000

;#else

int a =

10000

;#endif

//一般來說,對於**當中尚未開發完成的**,而又可能會導致一些不可預見的問題

//但是又不想讓程式無法執行,可以加上這樣乙個巨集定義,代表**仍需處理

#warning 這裡會出現什麼問題

//之戒丟擲乙個預編譯錯誤

#error 這裡會出現錯誤嗎?

//這個指令功能非常強大

//這個叫非致命性警告,只有新增了 gcc -wall c.c才會編譯時顯示出來,-wall表示warning all所有的警告

#pragma warning("這是什麼?")

//顯示乙個資訊

#pragma message("這是一段資訊")

//記憶體對齊方式,括號內指定記憶體對齊的位元組數,用在結構體會多一點

#pragma pack(3)

intmain

(int argc,

char

const

*ar**)

C語言 預處理命令

我們可以在c源程式中插入傳給編譯程式的各中指令,這些指令被稱為預處理器指令,它們擴充了程式設計的環境。現把常用的預處理命令總結如下 1.預處理程式 按照ansi標準的定義,預處理程式應該處理以下指令 if ifdef ifndef else elif endif define undef line ...

C語言 預處理命令

一 巨集定義 在 語言源程式中允許用乙個識別符號來表示乙個字串,稱為 巨集 被定義為 巨集 的識別符號稱為 巨集名 在編譯預處理時,對程式中所有出現的 巨集名 都用巨集定義中的字串去代換,這稱為 巨集代換 或 巨集展開 巨集定義是由源程式中的巨集定義命令完成的。巨集代換是由預處理程式自動完成的。在 ...

C語言預處理命令

以 開頭的預處理命令。如 include,巨集定義命令 define pi 3.1415926等。在源程式中這些命令都放在函式之外,而且一般放在原始檔前面,它們稱為預處理部分。無參巨集定義 無參巨集的巨集名後不帶引數。其定義的一般形式為 define 識別符號 字串 其中的 表示這是一條預處理命令,...