JNI简介

JNI

交叉编译

  • 在一个平台下,编译出另一个平台能够执行的二进制代码
  • 平台:Windows,mac os,Linux
  • 处理器:X86,arm,mips(指令集不同,默认情况下彼此之间不兼容)

交叉编译原理

  • 源代码->编译->链接->可执行程序
  • 模拟其他平台的特性(模拟Linux或者arm的指令,指令集)
  • *

交叉编译的工具链

  • 多个工具的集合,一个工具使用完后调用下一个工具

常见工具

  • NDK : Native Development Kit:开发JNI必备,模拟其他平台特性
  • CDT : C/C++ Development Tools:高亮显示C语言关键字
  • cygwin : 一个模拟器,可以在Windows下运行Linux指令
  • *

JNI视频笔记

  • 在C语言中定义字符串

    char* cstr = "hello from c";//一般都用这种方式
    //还可以:
    char cstr[] = "hello from c";   
    
  • 把C语言的字符串转换成Java的字符串

    jstring jstr = (*env)->NewStringUTF(env,cstr);
    return jstr;
    
  • Android.mk文件:要让NDK编译c文件的必须文件

  • so文件:C语言编译打包的类库

  • 在Java中加载打包的类库:

     static {
        //加载打包完毕的类库
        System.loadLibrary("MyJni");
     }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值