Java本地开发接口 英文全称是 Java native interface。
jni是一个协议。这个协议用来沟通Java代码和外部的本地代码(c/c++),通过这个协议 ,Java代码可以外部的c/c++代码 ,外部的c/c++代码也可以 调用本地的Java代码。
由于java代码运行和执行都是基于虚拟机的。
我们都知道:.java源文件都需要通过编译器来编译成.class文件,这里可以说字节码文件,然后在Dalvik虚拟机的解释器 编译成特定的机器识别码。从而达到在机器上能够运行。
java语言面向对象,一般会把方法封装到对象里面。
C语言面向过程。所谓面向过程就是做任何的时候都是一步一步来的。
java方法调用c/c++方法是行不通的一般通过桥梁(jni)间接的调用c/c++。相当于我们所说的中间人。通过jnijava即可以调用c代码,c代码又可以调用java代码。
java和c/c++之间的关系是:
java代码执行步骤:
其实呢 ,我们android系统中就有很常见的java和c之间调用的实例。
比如:Android下的jni的工作模式: System lib就是属于底层JNI的一部分。与之相关的 有ABI。
ABI的全程是 application binary interface 简单的理解为应用程序二进制接口。
作用:
让java代码 调用底层的c/c++代码。
虽然我们的AndroidStudio和Eclipse都能开发C/C++代码,但是为了方面我们换一种专业的C开发的开发工具。
dev-cpp.exe 1. 轻量级开发工具 2. 编译器gcc c99标准
如果大家之前学过C语言,会对dev-cpp.exe再熟悉不过了。但是小弟不猜,之前没有C的基础,所以在这个对于每一个细节都不想放过。 于是上网查了查其优点
用的优势: * devcpp.exe是Bloodshed Dev-C++的界面主程序,用于开启该软件的WINDOWS界面程序。 * devcpp,体积小,但是功能强大。它包括多页面视窗、工程编辑器。 * 在工程编辑器中集合了编辑器、编译器、连接程序和执行程序。 * 提供语法显示高亮,以减少编辑错误。
dev-cpp.exe 我这边已经下好了,所以给大家分享一个下载连接:
链接:http://pan.baidu.com/s/1o7GOPU6 密码:f3vb
简单介绍下dev-cpp.exe运行和编译
2.写main()方法
main(){ }3.为了观察程序执行的结果,需要调用windows系统的一个指令
system("pause");博客地址
http://blog.csdn.net/androidstarjack/article/details/71156474
如果你觉得此文对您有所帮助,欢迎入群 QQ交流群 :232203809 微信公众号:终端研发部
(欢迎关注学习和交流)