ANSI C 預處理簡單總結

2021-06-20 10:01:30 字數 2363 閱讀 3170

ansi c 預處理命令解析

具體命令如下:

#define : 巨集定義

#error : 強迫編譯程式停止編譯,並輸出錯誤資訊,主要用於程式除錯

#include : 是編譯程式將另乙個原始檔嵌入到帶有#include的原始檔中

#if-------#elif------#else-------#endif : 預編譯分支命令。與c中 if-----elseif-----else-----類似

根據#if或者#elif後面的常量表示式決定編譯那個分支的**

#ifdef : 如果後面的常量已經定義,則返回true,編譯其後的**

#ifndef : 如果後面的常量未定義,則返回true,編譯其後的**

#undef : 撤銷已定義的巨集名

#line : 改變預定義巨集 _line_ 和 _file_ 的內容

#pragma : 使用該預處理命令可向編譯程式傳送各種指令,編譯程式可設定編譯期支援c99

分類:檔案包含命令:#include

巨集定義命令:#define #undef

條件編譯命令:#if #else #ifdef #ifndef #endif

其他編譯命令:#line #error #pragma

巨集定義命令:

1 無引數巨集定義:

#define巨集名 字串

#define pi 3.14

2 帶引數巨集定義:

#define巨集名(形參表) 字串

#define fun(a,b)2*a*b

3 undef的使用主要將巨集名侷限在僅需要的**段

#undef巨集名

#undef fun

4 操作符# 和 ## 的區別---#define頂以後使用該操作符替換—及在字串中輸出實參

a.      #define area(x,y) printf(「length 「#x」  width 「#y」  and the area = :%d \n」,(x)*(y));

b.      #define var(n) v##n                var(1) === v1

條件編譯命令:

1 #if---#else---#endif

#if  常量表示式

程式段1

#else

程式段2

#endif

2 #elif

#if常量表示式1

程式段1

#elif常量表示式2

程式段2

#elif常量表示式n

程式段n

#else

程式段m

#endif

#define os win

#if os==win

#include「win.h」

#elif os==linux

#include 「linux.h」

#elif os=mac

#include「mac.h」

#endif

3 #ifdef #ifndef   對上面的改進,不再進行判斷,判斷是否定義符號常量

#ifdef

#ifdef識別符號

程式段1

#else

程式段2

#endif

#ifndef與上述相反

#ifndef識別符號

程式段1

#else

程式段2

#endif

其他預處理命令:

1 預定義巨集名

__date__ 當前源程式的建立日期

__file__    當前源程式的檔名稱

__line__   當前被編譯的**的行號

__stdc__ 飯後編譯期是否支援標準c 若為1 則符合

__time__ 當前源程式的建立時間

2 重複行號和檔名命令#line

#linenumber[「filename」]

3 修改編譯期設定命令#pragama

#pragamapara --- para是引數可使用的較多

常用命令:

message引數,在編譯資訊中輸出視窗輸出對應的資訊

#pragama message(訊息文字)

code_seg引數

#pragamacode_seg( [ 「 section-name」 [,」section-class」 ] ] )

設定程式中函式**存放的**段,開發驅動中用到

once保證標頭檔案被編譯一次

#pragama  once

4 產生錯誤資訊命令#error

#error錯誤資訊

exp:

#if__stdc__ !=1

#errornot ansi c

#endif

ANSI C 特徵總結

隨著c 的普及,標準的指定成了c 發展的必然趨勢。而制訂此一標準的工作是由ansi american national standards institute,美國標準學會 與iso international standardization organization,國際標準組織 進行。ansi規...

資料預處理總結1

使資料服從標準正態分佈,均值為0,方差為1。做資料探勘,pandas和numpy庫肯定是要引入的,這裡就省略了。from sklearn.preprocessing import standardscaler import warnings warnings.filterwarnings ignor...

資料預處理方法總結

資料是什麼?資料就是一組物件及其屬性的集合,其中屬性定義為物件的特徵或性質。真實資料在應用前基本都有經過預處理,以便在機器學習演算法中使用。本次資料預處理方法的總結是基於推薦系統設計進行展開的,其中包括相似度的度量方法 抽樣以及降維技術這三個尤為重要的問題。d x y k 1 n xk yk 2 x...