Java (JNA) dll 的传递引用

Java (JNA) pass-by-reference for dll

我必须将一些用作 DLL 的 VB6 工具翻译成另一种语言。 由于我对 C++ 不是很熟悉并且有从 Java 应用程序构建 DLL 的选项,我决定在 Java.

中编写它

问题: 在原始的 VB6 代码中有一些函数,这些函数通过引用传递参数。 由于此 DLL 用作另一个工具的接口,因此对其 DLL 进行了一些调用,这些 DLL 还通过引用传递了一些参数。

我找到了几种传递参数的方法,因此它们是可变的,但所有方法都不适合我的问题,因为让环境保持方法签名原样是完美的。

知道如何在不更改方法签名的情况下解决这个问题吗?

PS: 大多数 byRef 传递的参数都是字符串。

在此处查看此库 (JNA),这应该允许您做您想做的事。

https://github.com/java-native-access/jna

虽然从 Java 调用 DLL 不是一个很好的选择,但使用 C# 完成该任务会更容易。