#include <stdio.h>
#include <stdlib.h>
// c语言的执行流程
// 编译: 形成目标代码(.obj)
// 连接:将目标代码与c函数库连接合并,形成最终的可执行文件。
// 执行
// 预编译(预处理),为编译做准备工作,完成代码文本的替换工作
// 头文件告诉编译器有这样一个函数,连接器负责找到这个函数的实现
// 宏定义,宏替换,预编译指令
// define 指令
// 1,定义标示
// #ifdef __cplusplus 标识支持c++语法
// 防止文件的重复引入
// 2,定义常数(便于修改和阅读)
#define MAX 100
// 3,定义“宏函数”
void ma_com_jni_read(){
printf("read\n");
}
void ma_com_jni_write(){
printf("write\n");
}
// NAME 是参数
#define jni(NAME) ma_com_jni_##NAME();
// webrtc JNI函数名称很长,也是JOW宏函数缩短函数名称
// 日志输出
// _VA_ARGS_可变参数
// 这里d相当于替换,LOG里面的FORMAT参数替换成的printf时,FORMAT