android编写 jni 程序时,调试阶段通常需要打印C/C++层打印的log信息,C++ 文件打印log信息较为方便,直接用LOGD 就可以了,C文件以前一直用printf函数打印,直接运行C编写的bin文件可以打印出printf打印的信息,但是通过java-> C++ ->C这一调用就显示不出来了,也不知道为什么。后来发现打印C的Log信息也很简单,直接用LOGD或者__android_log_write 都可打印出C文件输出的log信息。如下:
util.h
#ifndef UTIL_H
#define UTIL_H
#ifdef __cplusplus
extern "C"{
#endif
#define print_log_use_log_print(priority, tag, ...) do{ \
__android_log_print(priority, tag, __VA_ARGS__); \
}while(0);
void print_log_use_android_log_write(char* logstr);
void print_log_use_logd(char* logstr);
#ifdef __cplusplus
}