(3)在TestJNI.cpp中添加代码实现com_test_jni_Java2cpp.h方法,添加完之后代码如下:
// TestJNI.cpp : 定义 DLL 应用程序的导出函数。 // #include "stdafx.h" #include "TestJNI.h" #include "com_test_jni_Java2cpp.h" #include "dllApi.h" // 这是导出变量的一个示例 TESTJNI_API int nTestJNI=0; // 这是导出函数的一个示例。 TESTJNI_API int fnTestJNI(void) { return 42; } // 这是已导出类的构造函数。 // 有关类定义的信息,请参阅 TestJNI.h CTestJNI::CTestJNI() { return; } JNIEXPORT jint JNICALL Java_com_test_jni_Java2cpp_DLL_1ADD(JNIEnv *env, jobject obj, jint a, jint b){ int var = 0; var = DLL_API_ADD(a, b); return var; } JNIEXPORT jint JNICALL Java_com_test_jni_Java2cpp_DLL_1SUB(JNIEnv *env, jobject obj, jint a, jint b){ int var = 0; var = DLL_API_SUB(a, b); return var; } JNIEXPORT jint JNICALL Java_com_test_jni_Java2cpp_DLL_1MUL(JNIEnv *env, jobject obj, jint a, jint b){ int var = 0; var = DLL_API_MUL(a, b); return var; } JNIEXPORT jint JNICALL Java_com_test_jni_Java2cpp_DLL_1DIV(JNIEnv *env, jobject obj, jint a, jint b){ int var = 0; var = DLL_API_DIV(a, b); return var; } |
(4)生成dll,在项目文件夹下的Debug文件夹内可以找到TestJNI.dll,但是因为我们在Java里要求dll名为JavaCallcpp,所以此时把项目重命名为JavaCallcpp,然后重新生成JavaCallcpp。【这一步生成会失败,按照如下添加路径】
6、调用方法
把第五步生成的JavaCallcpp.dll拷进JRE安装路径下的bin文件夹内,运行java程序即可。结果如下: