接口供应商给我们发来aa.h , aa.dll 文件 还有一个api文档。向各位大神求救,搞了一天都不懂,真心痛苦
java通过jni可以调用C++写的dll
http://www.cnblogs.com/xiehy/p/3365682.html
http://blog.csdn.net/cskerrydn/article/details/4719521
你都有API文档了,就是你JNI的时候设置好对应的DLL名称,函数名称,参数信息等,注意Java跟C++的类型之间的对应
你是用eclipse吧,给你个完整的,
eclipse 配置jni工具:->ExternTool->javah.exe路径 C:\Program Files (x86)\Java\jdk1.8.0_40\bin\javah.exe
->当前目录: ${project_loc} ->参数:-v -classpath "${project_loc}/bin" -d "${project_loc}/jni" -jni ${java_type_name}
例子:
/*java调用C++动态库,例子/
public class HelloWorld {
public static void main(String []args)
{
LoadDll.displayHelloWorld(); //调用
}
}
/*生成JNI文件的类,名字随意*/
public class LoadDll {
public native static void displayHelloWorld();//库函数
static{
System.loadLibrary("LoadDll"); //库名字
}
}
VC: jni.h和C:\Program Files (x86)\Java\jdk1.8.0_40\include\win32的jawt_md.h、jni_md.h移动到VC程序的 C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include
DLL的位数要和JDK位数一致
编译生成DLL,移到java的bin目录