#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include "word.txt"
// 1. 定义常数
#define MAX 100
// 2. 定义一个宏函数
void cn_com_jni_read(){
printf("read\n");
}
void cn_com_jni_write(){
printf("write\n");
}
#define jni(NAME) cn_com_jni_##NAME();
//3. 自定义LOG 日志输出
// __VA_ARGS__ 代表可变参数 FORMAT前加##代表参数 不加也能运行 (注意在Eclipse中不能运行 要去掉##)
#define LOG(LEVEL, FORMAT, ...) printf(LEVEL);printf(FORMAT,__VA_ARGS__);
#define LOG_I(FORMAT,...) LOG("INFO:", FORMAT, __VA_ARGS__);
#define LOG_E(FORMAT,...) printf("ERROR:");printf(FORMAT,__VA_ARGS__);
#define LOG_W(FORMAT,...) LOG("WARN:", FORMAT, __VA_ARGS__);
int main() {
//1. word.txt里面就写一个函数 void myprintf(char *msg){printf("%s\n", msg);}
// 预编译一样可以通过,就是个文本替换,函数一样可以得到执行。
myprintf("java");
//2. 测试常数
int i = 90;
if (i<MAX){
printf("比Max小\n");
}
//3.调用宏函数 只需要传入name就可以了,自动拼接成需要的函数名并执行
jni(read);
jni(write);
//4. 测试自定义LOG
LOG_E("%s, %d\n", "Hello, World!", 50);
LOG_W("%s, %d\n", "Hello, C++", 10);
LOG_I("%s, %d\n", "Hello, Python", 12);
return 0;
}
输出如下:
java
比Max小
read
write
ERROR:Hello, World!, 50
WARN:Hello, C++, 10
INFO:Hello, Python, 12