gpt4 book ai didi

java - 如何使用JNA访问Java代码中的DLL方法?

转载 作者:太空宇宙 更新时间:2023-11-04 08:23:36 25 4
gpt4 key购买 nike

通过运行System.loadLibrary("myAPI"),我验证了 DLL 文件“myAPI.dll”可以成功加载到我的 Eclipse Java 项目中。现在我需要从我的 Java 代码调用此 DLL 文件中指定的方法。为此,我将 JNA 添加到我的 Java 项目中。然后我编写了下面给出的代码片段,它应该能够获取类 IProjectProjectFactory 的实例(在 DLL 文件中指定)。

我仍然不明白如何使用 JNA 正确实现这一点。我检查了不同的线程,例如this one ,但我检查过的没有提供答案。非常感谢任何帮助。谢谢。

import com.sun.jna.Library;
import com.sun.jna.Native;

public class MyClass {

public interface myAPI extends Library {
//...
}

void LoadProj() {
myAPI api = (myAPI) Native.loadLibrary("myAPI",myAPI.class);
String fileName = "xxx.sp";


IProject project; // this is wrong but shows what I am trying to do
try {
project = ProjectFactory.LoadProject(fileName);
}
catch (Exception ex) {
MessageBox.Show(this, ex.Message, "Load failure");
}
}
}

最佳答案

不确定您面临什么问题,但作为实践,您的 myAPI 接口(interface)应该使用适当的 parameter mapping 逐字声明所有方法。 。我在你的界面中没有看到任何方法。

请查看this link以及@Perception上面提到的链接

关于java - 如何使用JNA访问Java代码中的DLL方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9045415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com