c 關於預編譯命令

2022-09-11 04:27:17 字數 843 閱讀 8122

1 #include  檔案包含  注意區分尖括號與引號的區別,尖括號告訴預編譯器在編譯器自帶的或外部庫的標頭檔案中搜尋被包含的標頭檔案

2 條件編譯 包括:#if #ifndef #endif #undef

3 巨集替換 #define ,包括有參與無參 

編譯器 預定義了一些巨集  包括 __file__ __function 等等 標識正在編譯的檔名和函式名

#運算子:將其後的引數轉換成乙個字串,例如  #define paste(n)  「***」#n     注意,這是乙個字串

##運算子: 將兩側的引數合併成乙個符號 #define num(a,b,c)  a##b##c   注意,這是乙個符號  ,但如果引數a,b,c 本身是字串,那麼這是乙個字串

4 #error 停止編譯顯示錯誤資訊

5 #line 改變編譯器用來指出警告和錯誤資訊的檔案號和行號

6 #pragma 為編譯器提供非常規的控制流資訊

語法為 #pragma para, 其中 para 有 message引數 code_seg引數 等等

#pragma message("訊息文字")  在輸出視窗中列印訊息

#pragma code_seg 開發驅動程式會用到它 設定共享段 該方式可以使程序間資料通訊

#pragma hdrstop  停止預編譯後面的標頭檔案

#pragma  warning(關鍵字:值)  對於警告資訊的一些設定

#pragma  conmment(關鍵字:值) 將乙個注釋記錄放入物件檔案或可執行檔案中  常用的有 #pragma  comment(lib:值)  鏈入乙個動態庫

#pragma pack(n)  指定結構體對齊方式   

預編譯 關於 和

1 在c語言巨集中,的功能是將器後面的巨集引數進行字串化操作,對它所引用的巨集變數通過替換後在其左右各加上乙個雙引號 define warn if exp do while 0 那麼實際使用中會出現下面所示的替換過程 warn if divider 0 被替換為 do while 0 這樣每次div...

關於預編譯頭

一 什麼是預編譯頭?預編譯頭物理上與通常的的.obj檔案是一樣的,但編譯入預編譯頭的.h,c,cpp檔案在整個編譯過程中,只編譯一次,如預編譯頭所涉及的部分不發生改變的話,在隨後的編譯過程中此部分不重新進行編譯。進而大大提高編譯速度,並便於對頭檔案進行管理,也有助於杜絕重複包含問題。二 什麼時候使用...

關於CSS預編譯

背景 大廠的任職要求裡還有一條是 熟悉使用sass.less等css預編譯工具。學習一樣東西的第一步就是首先知道它是什麼 有人開發了一些擴充套件css功能的寫法,比如less,sass,其目的是讓css能支援一些程式語言才有的功能,比如 表示式,函式,變數,迴圈,判斷.有這些功能就能方便重複定義,寫...