Android原理揭秘系列之framework本地方法注册(3)

#ifdef NDEBUG          #define REG_JNI(name)      { name }          struct RegJNIRec {              int (*mProc)(JNIEnv*);          };      #else          #define REG_JNI(name)      { name, #name }          struct RegJNIRec {              int (*mProc)(JNIEnv*);              const char* mName;          };      #endif  

显然,带参数的REG_JNII预编译宏实际上等价于一个“{name}”,而name是一个参数;而RegJNIRec类型实际上是一个包含函数指针的结构体类型。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwzjjf.html