Java怎么调用c/c++写的库

接口供应商给我们发来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目录