请教:JNI调用DLL问题

hzz_1900 2005-05-10 07:36:37
我要用JNI调用VC++写的DLL(MyNative.dll), MyNative.dll中又要调用dephi写的DLL(mjSDKDLL.dll)
#include <stdio.h>
#include <string.h>
#include "MyNative.h"
#include "windows.h"
#include <jni.h>

JNIEXPORT void JNICALL Java_MyNative_HelloWord (JNIEnv *env, jclass jobject) {

printf("hello word!\n");

}

JNIEXPORT jstring JNICALL Java_MyNative_cToJava(JNIEnv *env, jclass obj, jstring strTime) {

HINSTANCE hDLL;

hDLL = LoadLibrary("mjSDKDLL.dll");

if (hDLL != NULL)

printf("good %d\n", hDLL);

else

printf("bad\n");


//typedef bool(*IFInitInterface)(int a,int b,LPCTSTR c);

typedef int(FAR __stdcall *pMin)(int a);
// typedef int (FAR __cdecl *pMin)(int);
//typedef int (*pMin)(int port);stdcall
pMin myproc = NULL;

myproc = (pMin)GetProcAddress(hDLL,"InitlComm");

if(myproc == NULL) {

printf("can't find function <went> \n");

}else {

//myproc(1);

}

FreeLibrary(hDLL);

return jstr;


}
...全文
164 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongjun_han 2005-05-11
  • 打赏
  • 举报
回复
jstr 这个哪来的?

这么简单个程序应该没有太大问题。
可以先给你的上面这个写个main函数测测这两个函数的执行情况,然后再把这两个dll 考到该放的地方,运行你的java程序
hzz_1900 2005-05-10
  • 打赏
  • 举报
回复
编译通过了,但执行时出现内存读取错误(0x00000000).
大家帮帮忙

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧