读书人

java调用C++dll的有关问题

发布时间: 2013-07-24 14:36:29 作者: rapoo

java调用C++dll的问题
我写的dll在64位环境上用java调的时候一直提示找不到dll
http://bbs.csdn.net/topics/390512622

求大大指条明路java调用C++dll的有关问题 Java C++ dll JNI 找不到
[解决办法]

引用:
Quote: 引用:

你的 dll 是 32 位还是 64 位的?
64 位的进程不能加载 32 位的 dll
32 位的进程不能加载 64 位的 dll


这样说吧。TiffSplit这个方法是用来做tiff拆分的。
最开始用GDIPlus实现了一遍,因为GDIPlus对带有JPEG格式分页的tiff无法处理,
所以改用现在的libtiff来重写了一遍。
用GDIPlus写的那个dll在64位和32位环境上是都可以调的。两套环境用的java代码一模一样。
如果是因为adlay说的这个原因的话,那为什么GDIPlus实现的那套dll可以加载呢。


不是说系统是 64 位的就只能加载 64 位的 dll.
是 64 位的进程不能加载 32 位的 dll
64 位的系统可以同时运行 32 位的进程和 64 位的进程.
如果 dll 需要两种进程都可以加载, 就需要同时提供 32 位版本和 64 位版本. 操作系统的 dll 就是这样的.
[解决办法]
引用:
不要做A语言代码修改为B语言代码的无用功。
也不要做用A语言代码直接调用B语言代码库这样复杂、这样容易出错的傻事。
只需让A、B语言代码的输入输出重定向到文本文件,或修改A、B语言代码让其通过文本文件输入输出。
即可很方便地让A、B两种语言之间协调工作。

效率呢 忽略么

java jni原生支持java和C++、c、汇编交互

读书人网 >C++

热点推荐