JNI基础 c程序中打印数据到控制台

(1)声明头文件,拷贝下面的内容到c文件中

    #include <android/log.h>

    #define LOG_TAG "clog"
    #define LOGI(...) __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,  __VA_ARGS__)
    #define LOGD(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,  __VA_ARGS__)

(2)在Android.mk文件中添加

        LOCAL_LDLIBS += -llog

(3)日志输出

    LOGD("x=%d",5);
        LOGI("y=%d",6);

时间: 2024-10-27 02:34:44

JNI基础 c程序中打印数据到控制台的相关文章

在ASP程序中打印Excel报表的新方法

目前,B/S模式(浏览器/服务器模式)成为企业网上首选的计算模式.由于B/S模式的特殊性,在C/S下相对较易实现的Excel报表打印功能在B/S下却成为一个难点.本人通过研究写了一个基于ASP程序的打印Excel报表的程序.本程序的特点是无须任何组件. Print.asp ------------------------------------------------ <html><title>打印Excel报表</title> <% '控制脚本语言 respon

程序中打印当前进程的调用堆栈(backtrace)

为了方便调式程序,产品中需要在程序崩溃或遇到问题时打印出当前的调用堆栈.由于是基于Linux的ARM嵌入式系统,没有足够的空间来存放coredump文件. 实现方法,首先用__builtin_frame_address()函数获取堆栈的当前帧的地址(faddr), ×faddr(栈帧的第一个单元存放的数据)即当前函数的返回地址,及调用函数中的指令地址.×(faddr-1)是调用函数的栈帧的地址,即栈帧中保存了调用函数的栈帧的地址.由此可知,同一线程的所有栈帧组成了一个链表.遍历此链表,就可以打印

JNI的native代码中打印日志到eclipse的logcat中

1 添加ndk对log支持若需要添加ndk对log的支持,只需要通过以下2步即可实现. 1.1 修改Android.mk如生成的库文件是“.so文件”,则在Android.mk中添加如下内容:LOCAL_LDLIBS:=-L$(SYSROOT)/usr/lib -llog如生成的库文件是“.a文件”,则在Android.mk中添加如下内容:LOCAL_LDLIBS:=-llog 1.2 在.c或.cpp文件中引用log头文件添加如下内容:// 引入log头文件#include  <android

Clojure基础课程2-Clojure中的数据长啥样?

本文来自网易云社区 作者:李诺 " Clojure is elegant and pragmatic; it helps me focus more on solving business problems." 不同于Java这类静态语言, Clojure是动态语言,动态类型意味着这些类型会在代码运行时由Clojure动态的推导出来,编译时不作任何限制. user=> (defn f1 [a b] (+ "1" 2))#'user/f1 user=> (

第7课 - 程序中的数据输入

1.问题:如何使用C语言从键盘输入数据? stdio.h工具包提供了一个数据输入工具scanf scanf通过正确设置后,能够获取键盘输入的数据 scanf将键盘获取的数据“填入”变量 stdio.h中scanf的使用示例: 注意事项: scanf中的格式化字符不能包含其他无关字符 scanf中的格式化字符必须与对应的变量类型一致 编程实验:键盘输入 7-1.c 2.编程小任务:输入两个整数,并求和 思路: 定义2个用于相加的整型变量 使用scanf从键盘输入整数 使用printf打印相加的结果

JAVA基础----应用程序中如何新开一个线程

通过继承Thread新开线程 将类声明为 Thread 的子类.该子类应重写 Thread 类的 run 方法.接下来可以分配并启动该子类的实例.例如,计算大于某一规定值的质数的线程可以写成: class PrimeThread extends Thread { long minPrime; PrimeThread(long minPrime) { this.minPrime = minPrime; } public void run() { // compute primes larger t

程序中写数据到文件

#include <iostream>#include <iomanip>#include <fstream> using std::ofstream;ofstream fout3("/home/wang/Desktop/teleop_control.txt"); fout3<<twist.linear.x<<" "<< twist.angular.z<<std::endl;

MEX程序中的mexFunction函数【转】

与C中的main函数一样,MEX程序中的开始函数为mexFunction.默认变量参数是: void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) 其中 nlhs输出参数数目 plhs[]指向输出参数的指针 nrhs输入参数的数目 prhs[]指向输入参数的指针 例如:使用[a,b]=test(c,d,e) 调用mex函数test时,传给test的这三个参数分别是prhs[0]=c ,prhs[1]

系统架构师-基础到企业应用架构-数据访问层

一.上章回顾 上篇我们简单讲述了服务层架构模式中的几种,并且讲解了服务层的作用及相关的设计规范,其实我们应该知道,在业务逻辑层中使用领域模型中使用服务层才 能发挥出最大的优势,如果说我们在业务逻辑层还是使用非领域模型的模式话,服务层的作用仅体现在解耦作用.其实在业务逻辑层采用领域模型时,我们前面说的持 久化透明的技术,其实我们可以通过服务层来做,我们在服务层中处理领域对象信息的持久化操作.当然本篇可能不会深入讨论持久化透明的具体实现,后面会单独开 篇来讲述,我们先来回顾下上篇讲解的内容:  上图