作者:精英fd_241 | 来源:互联网 | 2022-12-20 13:28
Java调用c/cpp
1. 建一个JAVA类HelloWorld.java
class HelloWorld {
private native void print();
public static void main(String[] args) {
new HelloWorld().print();
System.out.println("end=======================");
}
static {
System.out.println(System.getProperty("java.library.path"));
System.loadLibrary("test"); //载入test.dll
}
}
2. Javah HelloWorld 会生成一个.h头文件
3. 把.h文件写实现,并编译成dll文件
有必要的时候加入头文件:
#include
#include //
#include //std io
#include
#include
using namespace std;
编译C源码的设置:
要包含把JDK目录里的include和include/win32
编译输出DLL的设置:
visualStudio2010里选择属性->General->Configuration Type: Dynamic Library (.dll)
4. 把DLL文件放入JAVA源码目录里,运行HelloWorld即可
Netbeans环境调试运行出错 java.lang.UnsatisfiedLinkError: no XXX in java.library.path
解决办法:右键项目->属性->源->排除, 把”**”改为”**,**.dll”