首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >J++到Java:如何从RNI迁移到JNI?

J++到Java:如何从RNI迁移到JNI?
EN

Stack Overflow用户
提问于 2009-09-14 01:32:24
回答 5查看 679关注 0票数 3

我继承了一个遗留的J++项目。我已经成功地将这个项目升级为标准的Sun。

然而,该项目包括一个本机C++ dll,该RNI框架代码通过特定于微软的RNI框架进行对话。

不用说,调用System.loadLibrary("myRniNativeDll")现在抛出一个UnsatisifiedLinkError,表示找不到其中一个依赖项。

我完全不知道如何将C++ RNI dll迁移到JNI;我不知道从哪里开始。我有C++源代码,但我不知道如何构建JNI。有什么技巧/教程/在线材料你的爪哇专家可以给我指点吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-09-15 21:04:10

如果许可是可以接受的(LGPL),Java本机访问提供了比JNI更友好的FFI;移植可能会减少到剥离RNI层,而仅仅公开一个简单的‘C’可调用的API。

票数 3
EN

Stack Overflow用户

发布于 2009-09-15 21:06:55

看看南国防军 --也许可以通过这种方式直接访问RNI;或者至少它将使移植它的工作比手动进行JNI容易得多。

票数 3
EN

Stack Overflow用户

发布于 2009-09-14 05:02:12

如果可能的话,我建议您考虑通过用纯->重写C++代码来避免RNI的C++ JNI移植问题。

编写JNI代码需要大量的注意,如果你弄错了,JVM的稳定性就会受到威胁。我的建议是,如果可能的话,尽量避免。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1419333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档