代码改变世界

JNI系列(1):基础篇

2010-10-21 08:30  RayLee  阅读(2054)  评论(0编辑  收藏  举报

由于现在的项目及以后的项目将大量使用JNI调用,故打算做一则系列文章供参考及讨论。本文是关于JNI的基础知识。

JNI是Java代码与本地代码交互的桥梁,有两种方式:(1)在Java中加载动态链接库 (2)使用JNI Invocation inteface,在native code中创建JVM

这种交互是双向的,即Java可以访问本地代码中的变量和函数,本地代码也可以访问Java类的成员和成员方法。

JNI规范给出了一个简单的例子,说明在Windows和Soloris上如何编译,生成及运行JNI代码。

在Windows上,使用cl编译器把本地代码生成dll文件。Soloris上,使用cc编译器生成.so文件。Android平台提供了专门的NDK工具,把本地代码生成.so文件。