weixin_42297702 2008-10-30 22:31
浏览 225
已采纳

有关java调用dll

本人还是编程新手,轻易不敢乱发帖耽误大家时间,这两天我遇到一个问题,虽然解决但还想弄清楚原因:
我的程序结构是这样的,java--(调用)-->dll--(调用)-->dll,中间那层dll调用是连接java和最后面的dll的桥,因为有个服务是需要本地方法提供,而那个本地方法是别人已经写好的,我的jin.h也没办法加到那个dll中去,只好中间又做了层dll调用,以前,我用jbuilder编译成本地方法运行时没有问题,注意,是编译成“Native Executable”那种,不是“Exceutable JAR”,前几天因为我把代码用netbeans重构了,netbeas好像不能像jb那样编译成本地.exe,我用c:\xxxx\javaw.exe -jar xxx.jar运行程序,问题来了--dll中的函数调用不成功!不是没找到,而是找到那个dll中的函数了,只是返回失败!
折腾了一个晚上我都每解决,第二天晚上反复和jb的比较后,用了一个非常笨的方法解决了问题,那就是我把jre\bin下的所有文件copy到我的xxx.jar同级目录下,把jre\lib目录copy包含xxx.jar目录的同级目录里,dll里的函数成功执行!

具体愿意不是很明白,请赐教!说的很啰嗦,抱歉!

  • 写回答

4条回答 默认 最新

  • iteye_1492 2008-11-05 11:26
    关注

    如果楼主是用java来调用dll,介意楼主使用JNative!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料