先說一下我的運行環(huán)境:JDK6.0 VC++6簡體中文版
我運行環(huán)境是這個,對于其他環(huán)境我也不知道行不行,可以試一下!
1,編寫Java文件MyDll.java
1 public class MyDll {
2 static {
3 System.loadLibrary("MyDll");
4 }
5 public native int sum(int i,int j);
6 public static void main(String args[]) {
7 int i = 10;
8 int j = 10;
9 int temp = new MyDll().sum(i, j);
10 System.out.println("10+10的和為:"+temp);
11 }
12 }
13
2,編譯Java文件 命令:javac MyDll.java 如果沒有報錯 ,再運行命令: javah MyDll 。前面命令生成MyDll.class文件,后面命令生成MyDll.h文件
2 static {
3 System.loadLibrary("MyDll");
4 }
5 public native int sum(int i,int j);
6 public static void main(String args[]) {
7 int i = 10;
8 int j = 10;
9 int temp = new MyDll().sum(i, j);
10 System.out.println("10+10的和為:"+temp);
11 }
12 }
13

3,在VC++6建立項目,選擇Win32 Dynamic-Link Library ,工程名 MyDll。然后選擇A simple DLL project,點擊Finish。

4,將MyDll.h文件復(fù)制到你項目里面,就是項目名的文件夾里面。

在StdAfx文件里面#include <windows.h>后面添加
#include <jni.h>
#include "MyDll.h"
配置環(huán)境,選擇“工具”,“選項”,“目錄”,將你安裝Java的目錄中的include和win32目錄添加上。

5,將下面代碼復(fù)制到MyDll.cpp文件的后面,build項目,將項目文件夾下的Debug文件夾生成的MyDll.dll文件復(fù)制到與MyDll.java同一個目錄。
1 JNIEXPORT jint JNICALL Java_MyDll_sum
2 (JNIEnv *env, jobject obj, jint _arg_i, jint _arg_j)
3 {
4 int m_i = _arg_i;
5 int m_j = _arg_j;
6 int temp = m_i+m_j;
7 return temp;
8 }
2 (JNIEnv *env, jobject obj, jint _arg_i, jint _arg_j)
3 {
4 int m_i = _arg_i;
5 int m_j = _arg_j;
6 int temp = m_i+m_j;
7 return temp;
8 }
6,運行Java文件,輸出一下結(jié)果

7, 本例中也是參考網(wǎng)上的一些例子,弄了也是好久才做出來,所以貼出來加深印象。在做的過程中需要注意細(xì)節(jié)。