0

在这一点上我真的很震惊。

我有一个用 .net 编写的 .dll,它是使用 SWIG(http://www.swig.org/)创建的。不,我的目标是在 java 中使用 dll。

所以我的问题是

  1. 我可以直接使用dll文件吗?即 dll 文件是否独立于编写它的语言?

如果没有,将 dll 重写/移植到 java 的最佳方法是什么?

  1. 初始化此 dll 后,如何创建可以直接从我的 java 代码中使用的导出函数。

感谢您的尝试!

4

2 回答 2

1

一种解决方案是使用JNI。我已经使用JNA来调用 Windows API(虽然不是 .net)。您可以查看一些示例

于 2013-07-30T04:56:50.443 回答
0

不幸的是,有人已经建议并删除了它,但它是一个有效的解决方案,并且可能是最好的解决方案。

  1. 使用JNI创建从 Java 代码到本机的接口
  2. 使用.NET 托管 API将 .NET 运行时加载到您的 Java 进程中
  3. .NET 运行时现在可用于加载您的 .NET DLL
  4. 从 Java 代码调用到本机的JNI层,然后到 .NET DLL
于 2013-07-30T05:03:10.727 回答