test_mynative.cpp
来自「java中实现jni调用,jni调用dll ,dll再调用dll ,dll显示调」· C++ 代码 · 共 39 行
CPP
39 行
#include <stdio.h>
#include "test_MyNative.h"
#include "windows.h"
typedef int ( * lpAddFun)(int,int);
JNIEXPORT void JNICALL Java_test_MyNative_HelloWord(JNIEnv *env, jclass jobject)
{ printf("hello word!\n");
}
JNIEXPORT jstring JNICALL Java_test_MyNative_cToJava(JNIEnv *env, jclass obj)
{
jstring jstr;
char str[]="Hello,word!\n";
jstr=env->NewStringUTF(str);
return jstr;
}
JNIEXPORT jint JNICALL Java_test_MyNative_add(JNIEnv *env, jclass obj, jint a, jint b)
{
HINSTANCE hDll; //DLL句柄
lpAddFun addFun; //函数指针
hDll = LoadLibrary(".\\dllTest.dll");
int result=0;
if (hDll != NULL)
{
addFun = (lpAddFun)GetProcAddress(hDll,"add");
if(addFun!=NULL)
{
result = addFun(2,3);
//printf("%d",result);
}
FreeLibrary(hDll);
}
return result;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?