c語言學習四 預處理指令

2021-10-12 08:00:22 字數 2692 閱讀 8379

預處理指令

意義用法

#include

檔案包含

#include

#define

巨集定義#define pcchar char*

#undef

撤銷定義過的巨集

\#undef pcchar

#if、#else、#elif、#endif

條件編譯,true就編譯、關心巨集定義,也關心巨集真假

\#if()……#elif()……#else……#endif

#ifdef、#else、#endif

條件編譯,有定義巨集就編譯

#ifdef debug……#else……#endif

#line

語句#line來重新設定__line__的值,指定下一行的__line__的值

\#line 99

#error

生成編譯錯誤提示訊息,停止編譯。

#error "ni you yi ge bug."

#pragma

用於指定計算機或作業系統特定的編譯器功能

0.#include

#include

<> 從環境變數中找標頭檔案

#include ""一般從當前目錄下找標頭檔案

not find 標頭檔案可以用gcc -i 頭檔案目錄 -o build 001.c 指定頭檔案目錄來編譯

#include 包含標頭檔案

1.#define

# include

# define pi 3.14159

intmain

(void

)輸出結果是:

請輸入圓的半徑:

1s=pi*r^2=

3.141590

2.#undef

#include

intmain()

3.#if,#elif,#else,#endif

#include

intmain

(int argc,

char

*ar**)

4.#ifdef,#endif

gcc -d abc  相當於 #define abc

#include

intmain()

輸出:####################################

#include

#define debug

intmain()

輸出:this is a bug.

5.#line

#include

intmain()

輸出:100

6.#error

#include

intmain()

直接報錯不會列印hello

7.#pragma

1)#pragma once

在標頭檔案的最開始處加上這句話,就可以避免標頭檔案的重複引用(include),保證每個標頭檔案只編譯一次,再加入同名的標頭檔案也不編譯,且不會報錯。

2)#pragma message

輸出字元

#ifdef debug

#pragma message("this is okk.")

//debug被定義這內容將被列印

#endif

3)#pragma hdrstop

預編譯標頭檔案到此為止,後面的將不再參與預編譯。

4)#pragma warning

與warning相關我操作

#pragma warning (disable:4707)     

//遮蔽4707警告

#pragma warning (once:4706)

//只顯示一次4706警告

#pragma warning (error:164)

//將164號警告當作乙個錯誤。

或者#pragma warning (disable:4707;once:4706;error:164)

5)#pragma comment

鏈結檔案,不需要在工程中新增庫了。

#pragma comment( comment-type [,「commentstring」] )

comment-type:指型別,compiler,exestr,lib,linker等……

commentstring:提供資訊的字串,也就是路徑

#pragma comment (lib,"user32.lib")

C語言學習之預處理

編譯乙個c程式需要經過預處理 編譯 彙編和鏈結幾個步驟,預處理是在編譯之前所做的工作,預處理其實就是對原始檔做一些編輯工作,為編譯做好準備。1.條件編譯 if constant expression endif 或者 if constant expression elif constant expr...

c語言學習筆記 預處理

編譯的幾個階段 我們平時使用的編譯器,其實準確來講應該叫編譯工具鏈,因為其中包括了不止一種編譯器,他們之間相互銜接,完成將程式轉化為二進位制 的功能 主要分為4個階段,預處理 c 彙編.s 編譯.o 鏈結 axf hex bin 四個過程 常用預處理指令 include if,end,define ...

C語言預處理指令

一 預處理的由來 在c 的歷史發展中,有很多的語言特徵 特別是語言的晦澀之處 來自於c語言,預處理就是其中的乙個。c 從c語言那裡把c語言預處理器繼承過來 c語言預處理器,被bjarne博士簡稱為cpp,不知道是不是c program preprocessor的簡稱 二 常見的預處理功能 預處理器的...