我在 Eclipse 中有一个包含一些 JNI 代码的 java 项目。JNI 代码是跨平台的 - 适用于 Windows 和 Linux。我怎样才能建立一个dll?
谢谢。
我在 Eclipse 中有一个包含一些 JNI 代码的 java 项目。JNI 代码是跨平台的 - 适用于 Windows 和 Linux。我怎样才能建立一个dll?
谢谢。
您必须为 Windows 构建一个 .DLL,为 Linux 构建一个 .so。您将使用以下语法在 Linux 中编译 C 代码:
gcc -shared yourcode.c -I/usr/lib/gcc/x86_64-redhat-linux/3.4.3/include/ -o yourLib.so
在java中使用导入
static {
System.out.println(System.getProperty("java.library.path"));
System.loadLibrary("yourlib");
}
对于 Windows如何将 C 编译为 DLL
我假设你有一些C/C++
代码。要创建dll
(windows),您必须编译代码(例如,您可以使用 Visual C++ Express,或 mingw: gcc)。在 linux 中只使用gcc
构建库。
为您的平台构建库后,将其添加到库路径中-Djava.library.path=<folder containing the library>
。
hth