最近在学习jna,发现dll文件能能否成功调用取决于jdk位数。

32位jdk只能使用32位的dll,64位jdk只能使用64位的dll,否则位数不对应的话报的错是

"Exception in thread "main" Java.lang.UnsatisfiedLinkError: Unable to load library 'testx64': 找不到指定的模块。"

它为什么是直接无视位数不符合的dll?仔细一想,代码搜寻dll文件时是按名字来的,那放2个同名的test.dll一个是64位的一个是32位的,自然就能搜到与自己对应的,这不就可以方便的解决兼容问题,连代码都不用改了。

但是还有一个问题,一个文件夹内文件时不能重名的,怎么放同名不同位的文件?原来jna调用dll不单会搜索项目下的dll,也会搜索在系统环境Path里各个文件,在里面填自己建两个文件分别放同名不同位的文件就行了,

例如分别在C:\Program Files和C:\Program Files (x86)文件件中创建文件夹存放相应的dll文件。

最新文章

  1. ef
  2. 【wireshark】打开后显示There are no interfaces on which a capture can be done
  3. codeforces 630 I(规律&&组合)
  4. 64位ubuntu安装WPS
  5. ngnix apache tomcat集群负载均衡配置
  6. phpcms v9指定栏目调用系列教程
  7. myEclipse修改deploy location
  8. 玩转12款Linux开源机器人
  9. [Swust OJ 797]--Palindromic Squares(回文数水题)
  10. 采用Flume实时采集和处理数据
  11. javascript 中的类型
  12. CRM客户关系管理系统(九)
  13. 微信内分享第三方H5链接无法使用内置浏览器打开的解决方案
  14. (4)HomeAssistant 自动化
  15. jenkins 邮箱设置
  16. 按字典序依次打印只由1~n组成的n位数
  17. 【洛谷p2312】解方程
  18. R语言-直方图
  19. 更改数据库字符集编码引起的问题、textarea标签输出内容时不能顶格(左对齐)输出
  20. 【很重要】优秀的常用的js库

热门文章

  1. Structs2中iterator的status属性的用法
  2. Linux上vi(vim)编辑器使用教程
  3. 深入学习golang(1)—数组与切片
  4. RBL开发笔记二
  5. Neo4j Cypher运行示例
  6. dede织梦后台如何修改?如何增加删除菜单?(
  7. cocos2d 艺术标签没有显示
  8. ucos3的配置文件
  9. cvMat结构体详解
  10. 安装初始化mysql后,默认几个库介绍