預處理指令
意義用法
#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.#pragma1)#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的簡稱 二 常見的預處理功能 預處理器的...