JNI(一):初识JNI
上图简单的介绍了JNI的概念、应用场景、原理、使用步骤,下面通过JNI实现一个Hello world实例。
1. 在Java类中声明native方法,NativeTest.java。
#include "stdafx.h"#include "com_ghsau_NativeTest.h"#include <iostream.h>BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ){ return TRUE;}JNIEXPORT void JNICALL Java_com_ghsau_NativeTest_sayHello(JNIEnv * env, jobject obj){cout<<"Hello World!"<<endl;}编辑完毕,编译native.cpp文件,编译无问题之后build,就会在debug文件夹下生成dll动态链接库了。
4. 配置环境变量,将dll所在目录放到环境变量PATH中。
5. 重启eclipse,eclipse是在启动时读取环境变量,然后运行NativeTest,java,打印出Hello world。
以上就是实现JNI的一套过程,JNI的优势和劣势很明显,优势图中已经说明。我想最大的劣势就是失去跨平台性。