我刚刚开始阅读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的。
答案 0 :(得分:0)
“Java接口文件”不是通常定义的术语。您至少需要一个C头文件或一些文档来指示如何调用DLL中的函数。您可能从DLL本身获得的唯一信息是可用方法的名称。
虽然可以在描述DLL方法签名的DLL中嵌入调试信息,但是你的DLL中不太可能有这样的,并且你需要额外的工具才能使用它。