Как мне сопоставить вызов функции из c ++ в Java, используя JavaCpp?

у меня есть c++ заголовочный файл, который содержит некоторые функции, которые c++ кодовые звонки. Эти функции должны быть сопоставлены с соответствующими Java функции.
Так что это немного похоже на обратные вызовы, но я не могу понять, как отобразить их в JavaCpp,

Так, например, у нас есть заголовочный файл:

#ifdef __cplusplus
extern "C" {
#endif

typedef void (*F_ADDDCALLBACK)(uint32_t arg1, uint32_t arg2, int8_t *arg3);
extern F_ADDDCALLBACK m_CB;

void F_RegisterCallbacks(F_ADDDCALLBACK cb);
void F_Init();
void F_SomeOtherFunction(uint32_t arg1, uint8_t *arg2);

#ifdef __cplusplus
}
#endif

Когда эти функции вызываются из некоторых c++ код, это должно в свою очередь вызвать некоторые java код.
Как мне отобразить это в JavaCpp?

8

Решение

Сначала создайте файл Java, в котором вам нужно определить свои собственные функции. затем используйте javah Утилита, которая поставляется с jdk чтобы генерировать c заголовочные файлы. Включив эти заголовочные файлы, вы должны продолжить c код.

Пожалуйста, обратитесь к JNI (Java Native Interface) для получения дополнительной информации.

http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=%2Frzaha%2Fjniex.htm

http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/jniTOC.html

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]