В последнее время я работаю над чем-то похожим.Что мне помогло, так это использование библиотеки jni.h, которая появляется при установке java (Java \ jdk [версия] \ include) и создании библиотеки DLL с кодом c / c ++ в Visual Studio.Например:
Test.h
//declare the method you want to implement in c/c++ in the header
//include the jni header
#include <jni.h>
JNIEXPORT void JNICALL Java_Test_print(JNIEnv *, jobject);
//Java_[Class Name]_[Method Name](pointer to JVM, java object);
Test.cpp
extern "C" JNIEXPORT void JNICALL Java_WinampController_printTrackInfo (JNIEnv *env, jobject obj){
printf("Hey, I'm a java method in c (or not?)\n");
}
Затем создайте dll с Visual Studio и загрузите dll в пределах статический блок.Я не пробовал это без компиляции кода c / c ++ в dll, возможно, есть другой способ вызова кода c / c ++.Но это то, как вы это реализуете.
Test.java
//declare the same method native inside a class in java
public class Test{
static {
System.loadLibrary("Test"); //load the dll
}
public native void print();
} //after that you just call test.print() normally
Итак, вы просто делаете это и реализуете методы java со всем необходимым c / c ++.
ЕслиВы все еще не знаете, как это сделать, просветите себя здесь:
Спецификация нативного интерфейса Java - Oracle
Нативный интерфейс Java - Википедия