sat*_*230 5 c++ java static-libraries
我是这个论坛的新手,所以如果我不能以正确的方式提出我的问题,请原谅.
我想要帮助使用C++(.lib and.h)
文件java
.
我想.lib
在我的java代码中使用该文件的方法.
功能原型如:
FunctionXYZ(BYTE *Data1, BYTE *Data2, BYTE *Data3, int Data4);
Run Code Online (Sandbox Code Playgroud)
我将使用的环境是centOS.
先感谢您
PS:我没有这个.lib的源代码
要使用a中的函数.lib
,您必须为这些库函数创建JNI包装函数,然后将它们与库链接到一起.dll
.
例:
假设您的C++库头中有一个带有此签名的函数:
int example(int a, int b);
Run Code Online (Sandbox Code Playgroud)用C++创建一个函数包装器:
JNIEXPORT jint JNICALL Java_MyClass_example (JNIEnv* env, jobject obj, jint a, jint b) {
return (jint) example(a, b);
}
Run Code Online (Sandbox Code Playgroud)将库和包装器链接到DLL中
使用本机方法创建Java类:
public class MyClass {
public native int example(int a, int b);
}
Run Code Online (Sandbox Code Playgroud)使用System.loadLibrary
函数(或类似)加载DLL
example
在一个对象上调用该方法了MyClass