写了一段jni程序,在相对应的c++中调用动态链接库方法
具体代码如下:
#include<stdio.h>
#include"GetPIJNI.h"
#include<windows.h>JNIEXPORT void JNICALL Java_GetPIJNI_setServerNode(JNIEnv *env, jobject, jstring serverName)
{
typedef int (*Ppiut_setservernode)(char * servername);
HINSTANCE hDLL;
Ppiut_setservernode piut_setservernode;
hDLL = LoadLibrary("piapi32.dll");
piut_setservernode = (Ppiut_setservernode)GetProcAddress(hDLL,"piut_setservernode");
const char * servername;
servername = (env)->GetStringUTFChars(serverName,NULL);
int tmp = piut_setservernode((char *)servername);
printf("tem=%s",tmp);
printf("servername = %s",servername);
FreeLibrary(hDLL);
(env)->ReleaseStringUTFChars(serverName,servername);}
在vc里可以生成新的dll文件,运行java程序,调用新的dll文件,结果报错,跪求达人指点,万分紧急,多谢多谢