0

我刚刚开始阅读 JNI,我们项目 C++ 方面的人刚刚向我指出了 2 个文件,Java 接口和 DLL 文件。有了 DLL,我是否需要对 C++ 端发生的事情有任何其他了解。我现在是否只是将 DLL 放在类路径中并通过他给我的 Java 接口访问它?他使用 Java 接口创建了一个头文件,该文件包含在 .cpp 文件中。据此,我假设生成了 DLL。

以下是我的一些代码

    System.loadLibrary("PredictionService");
    JNIPrediction predictor = new JNIPrediction();
    predictor.getPredictions("test");

我没有收到任何错误,这是否意味着它正在成功加载 DLL 并在 DLL 中调用 getPredictions() 方法?基本上我需要知道这就是你通常如何使用 JNI。

4

1 回答 1

0

“Java 接口文件”不是一个通常定义的术语。您至少需要一个 C 头文件或一些文档来指示如何调用 DLL 中的函数。您可能从 DLL 本身获得的唯一信息是可用方法的名称。

虽然可以在描述 DLL 方法签名的 DLL 中嵌入调试信息,但您的 DLL 中不太可能有这样的信息,您需要额外的工具才能使用它。

于 2012-10-03T15:50:42.420 回答