C/C++中如何使用LOG输出进行跟踪
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,今天就跟大家聊聊有关C/C++中如何使用LOG输出进行跟踪,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。我们在JAVA的调试中经常会用到Log
千家信息网最后更新 2025年12月03日C/C++中如何使用LOG输出进行跟踪
今天就跟大家聊聊有关C/C++中如何使用LOG输出进行跟踪,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
我们在JAVA的调试中经常会用到Log.i什么的方法进行输出跟踪,这一篇我主要来说一下在NDK开发中,C++的代码中怎么实现日志输出。
实现方法
在c++文件中引用android/log.h头文件。
头文件中__android_log_print方法就是我们的日志输出方法。
通过#define的宏定义组装我们的__android_log_print方法。
在想输出日志的地方直接进行输出即可。
代码实现
我们还是用原来的那个Demo程序,按照我们的实现方法来进行
在c++文件中引用android/log.h头文件
我们打开native-lib.cpp文件,在顶部加入引用android/log.h,如下图
通过#define的宏定义组装我们的__android_log_print方法
代码为:
#define LOG_TAG "System.out"#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)
在想输出日志的地方直接进行输出即可
我们直接在上一章的两个数相乘的方法中进行日志输出看看结果,改造一下
extern "C"JNIEXPORT jint JNICALLJava_dem_vac_vaccaendk_MainActivity_plusFromJNI(JNIEnv *env, jobject instance, jint a, jint b) {//首先获取class,这里传入的参数jobject是代表了Mainactivity,所以我们要自己查找jclass jcls=env->FindClass("dem/vac/vaccaendk/VaccaeJNI");if (jcls == NULL) {return 0;}//获取方法jmethodID jmethod = env->GetMethodID(jcls, "Plus", "(II)I");if(jmethod==NULL) {return 0;}//输出传入的a和b参数LOGI("a=%d",a);LOGI("b=%d",b);//调用访法//第一个参数为jobject的这是传入的是jobject是Mainactivity,//如果在CallIntMethod里面直接用传入的肯定会出错,因为我们的//方法是在VaccaeJNI的类里面,所以我们首先要实例化那个类,再调用jobject jobj = env->AllocObject(jcls);jint retint = env->CallIntMethod(jobj, jmethod, a, b);//输出调用相乘方法得到的结果LOGI("result=%d",retint);return retint;}
接下来我们看一下运行后的结果
从上图中我们可以看到,在Logcat的日志中已经输出我们每一步的输出,这样在调试C/C++的代码中可以通过输出方式找到哪一步出的问题,方便我们开发,提高效率。
看完上述内容,你们对C/C++中如何使用LOG输出进行跟踪有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
输出
方法
文件
日志
代码
跟踪
内容
参数
结果
地方
c++
开发
接下来
上图
两个
代表
可以通过
实例
就是
常会
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库系统阶段冗余性
梦幻诛仙服务器怎么创建角色
新郑服务器救援电话
无法创灰数据库请检查
网站数据库文件如何备份
qq注册软件开发
合肥网络安全会议2017
中职学校网络安全培训
软件开发合同纠纷案件
服务器已经开机是什么原因
查看数据库连接数 db2
云服务器ddos攻击
用脚本创建数据库用户
企业信息网络安全保护方案
镇江品质联想服务器
市电电压不稳对服务器有影响吗
天津升腾服务器价格
违反网络安全检讨
优秀的软件开发公司有哪些特点
sae数据库密码
企事业单位网络安全动漫图片
软件开发怎么估价
网络安全教育主题图片
五年级网络安全文字
http2.0服务器
gis软件开发大作业
网络安全的第一个时代
远程服务器提示资源不足
网络安全与信息化领导组
数据库完整性与安全性实验