java - J++ 到 Java : how to migrate from RNI to JNI?

标签 java interop java-native-interface j++

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

但是,该项目包含一个本地 C++ dll,Java 代码通过 Microsoft 特定的 RNI framework 与之对话。 .

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

我完全不知道如何将 C++ RNI dll 迁移到 JNI dll;我不知道从哪里开始。我有 C++ 源代码,但我不知道如何构建 JNI dll。 Java 专家有什么提示/教程/在线资料可以指给我看吗?

最佳答案

如果许可是可接受的 (LGPL),Java Native Access提供比 JNI 更友好的 FFI;移植可能会减少到剥离 RNI 层并仅公开一个简单的“C”可调用 API。

关于java - J++ 到 Java : how to migrate from RNI to JNI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1419333/

相关文章:

java - Java中包私有(private)类的改进

java - 如何在 Java 中将整数字符串转换为 ArrayList?

java - 如何只允许小部件android的单个实例

java - 在 Java 对象树上创建的 Clojure zipper 可以在 zip-filter 中工作吗?

Git 与 Mercurial 存储库的互操作性

java - 如何让 Apple Java Extensions (com.apple.eawt) 在 JDK 7 及更高版本上运行?

java - fatal error : jni. h:没有这样的文件或目录 Netbeans IDE

java - 阻止 ArrayOutOfBoundsException 在 Java 中停止程序执行

.net - 从 VB6 代码中释放 .NET 对象

java - 仅使用 C 共享库和头文件,使用 JNI 从 Android 调用 C