C語言(巨集定義)

2021-09-11 13:23:40 字數 982 閱讀 2138

巨集定義是c提供的三種預處理功能(巨集定義、檔案包含、條件編譯)的其中一種。

c語言執行的流程: 1、編譯:形成目標**(.obj) 2、連線:將目標**與c函式庫連線合併,形成最終的可執行檔案 3、執行

巨集定義也叫做:巨集替換、預編譯指令

作用: 使用define指令 1、定義標示,防止檔案重複引入 如:#ifdef __cplusplus 標識支援c++語法

2、定義常數(便於修改與閱讀)

#define min 60

void main

() getchar();

}複製**

###巨集函式

void test_read

()void test_write

()//name是引數

#define jni(name) test_##name();

void main

()複製**

void read

()void write

()//name是引數

#define jni(name) name();

void main

()複製**

#define log(level,format,...) printf(##level); printf(##format,__va_args__);

#define log_i(format,...) log("info:",##format,__va_args__);

#define log_e(format,...) log("error:",##format,__va_args__);

#define log_w(format,...) log("warn:",##format,__va_args__);

void main

()複製**

C語言巨集定義

c語言有很多預處理命令,如包含命令 include,巨集定義命令 define。預處理命令在程式編譯之前被編譯器處理,而巨集定義也在此時被替換。或c 語言源程式中允許用乙個識別符號來表示乙個字串,稱為 巨集 被定義為 巨集 的識別符號稱為 巨集名 在編譯預處理時,對程式中所有出現的 巨集名 都用巨集...

C語言巨集定義

乙個巨集定義的作用域是從定義處到 undef處或檔案結尾。undef num 現在此處num沒有定義。1.ifdef num 如果num有巨集定義就編譯此處。else 如果num沒有巨集定義就編譯此處 endif 不論num 有沒有巨集都編譯,即判斷體已結束。ifndef num 如果num沒有巨集...

C語言巨集定義

1 include2 include34 是 字串化 的意思,出現在巨集定義中的 是把跟在後面的引數轉換成乙個字串 5 define log error err fprintf stderr,err 67 是一種分隔連線方式,它的作用是先分隔,然後進行強制連線.8 define test type,...