C語言(巨集定義)

鋸齒流沙發表於2017-12-26

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

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

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

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

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

#define MIN 60


void main(){
	
	int i = 100;

	if (i > MIN){
		printf("比MIN大..");
	}

	getchar();
}
複製程式碼

###巨集函式

void test_read(){
	printf("read\n");
}

void test_write(){
	printf("write\n");
}
//NAME是引數
#define jni(NAME) test_##NAME();

void main(){
	
	jni(write);//替換:write();
	getchar();
}
複製程式碼

執行結果.png

void read(){
	printf("read\n");
}

void write(){
	printf("write\n");
}
//NAME是引數
#define jni(NAME) NAME();

void main(){
	
	jni(read);//替換:read();
	getchar();
}
複製程式碼

執行結果.png

#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(){
	
	LOG_E("%s%s", "name:", "xiaoming");
	getchar();
}
複製程式碼

執行結果.png

相關文章