c语言中的define 为宏定义(宏替换、预编译指令)
在c语言中的应用
定义标示 :#ifdef __cplusplus 标识支持C++语法
防止文件重复引入
//A.h
#ifndef BH
#define BH
#include "B.h"
//#endif//OK
void printA();
#endif
//B.h
#ifndef AH
#define AH
#include "B.h"
void printB();
#endif
在新的c语言中可以使用如下代码防止文件重复引入
#pragma once
定义常数
#define MAX 100
宏函数
//1.
void dn_com_jni_read(){
printf("read\n");
}
void dn_com_jni_write(){
printf("write\n");
}
//NAME是参数
#define jni(NAME) dn_com_jni_##NAME();
//webrtc JNI函数名称很长,也是JOW宏函数缩短函数名称
//调用
jni(write/read)
//2.
#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__);
//调用
LOG_I("%s,%d","haha ",88);