public class JNIStudy { public native int add(int operand01, int operand02); static { System.loadLibrary("JNIStudy"); } public static void main(String[] args){ JNIStudy study = new JNIStudy(); System.out.println(study.add(45,60)); } }
javac JNIStudy 生成JNIStudy.class
javah -jni JNIStduy 生成JNIStudy.h
将%JAVA_HOME%\include下的jni.h,%JAVA_HOME%\include\win32下的jawt_md.h和jni_md.h拷贝到%DotNET_HOME%\VC\include下,然后建立Win32的动态链接库工程
#include "stdafx.h" #include "JNIStudy.h" #ifdef _MANAGED #pragma managed(push, off) #endif BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { return TRUE; } #ifdef _MANAGED #pragma managed(pop) #endif JNIEXPORT jint JNICALL Java_JNIStudy_add (JNIEnv *, jobject, jint one, jint two){ return one + two ; }
release一个dll文件JNIStudy.dll,拷贝至JNIStudy.class的同一目录下
运行java JNIStudy即可