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即可
本文介绍了一个使用Java Native Interface (JNI)的简单示例。通过创建一个名为JNIStudy的Java类,该示例展示了如何定义本地方法并实现加法运算。接着介绍了生成JNI头文件的过程,并详细说明了如何编写对应的C/C++代码实现本地方法。最后,指导读者如何编译生成动态链接库,并将其与Java应用一起使用。
4770

被折叠的 条评论
为什么被折叠?



