`
shenjichao2009
  • 浏览: 94926 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JNI学习入门指南

    博客分类:
  • JNI
JNI 
阅读更多

<1>建立一个Java Project项目工程,编写相应的代码如下:

/**
 *
 */
package com.duoguo.jni;

/**
 * @author shyboy(897948924@qq.com)
 *
 */
public class TestNative {

 private native void hello();

 static {
  System.loadLibrary("NativeCode");
 }

 /**
  * @param args
  */
 public static void main(String[] args) {

  TestNative testNative = new TestNative();
  testNative.hello();

 }

}

<2>切换到Java Project工程的bin目录下,使用javah命令使TestNative类生成相应的头文件,命令如下:

       javah com.duoguo.jni.TestNative

 会在bin目录下生成名称为:com_duoguo_jni_TestNative.h的头文件

 

<3>使用VS2008开发工具建立一个Win32控制台应用程序的项目,并选择空dll,然后将bin目录下的头文件com_duoguo_jni_TestNative.h剪切到该项目目录下;

 

<4>编写NativeCode.cpp的代码,如下:

// NativeCode.cpp : 定义 DLL 应用程序的导出函数。
//

#include "stdafx.h"
#include <iostream>
#include "com_duoguo_jni_TestNative.h"
using namespace std;


JNIEXPORT void JNICALL Java_com_duoguo_jni_TestNative_hello(JNIEnv * env, jobject obj)
{
 cout<<"Hello World"<<endl;
}

 

<5>按F5快捷键进行编译,若出现错误,则查看相应的错误信息,并将JDK的include目录下的jni.h和win32目录下的jni_md.h头文件拷贝到该C++工程下,再次进行编译,如不出意外,会生成NativeCode.dll文件;

 

<6>将NativeCode.dll文件的目录拷贝到环境变量的path路径下,然后重新MyEclipse开发工具,运行main()方法,在控制台会打印出相应的Hello World!信息,则成功调用。

 

这就是JNI的魅力所在,希望对你有所帮助,写的不好,敬请原谅。如有不清楚的地方,可咨询QQ897948924.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics