巨集定義是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,...