如何使用 JavaCpp 将函数调用从 c++ 映射到 Java?
How do I map a function call from c++ to Java using 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
中映射它?
首先创建一个 java 文件,您需要在其中定义自己的函数。 然后使用jdk
附带javah
实用程序生成c
头文件。通过包含此头文件,您需要继续c
代码。
有关详细信息,请参阅JNI
(Java 本机接口)。
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
相关文章:
- 将C++映射转换为 Java 映射
- 如何在 JniWrapper 中将 Java ArrayList<float[]> 映射到C++ Vector<array<float,size>>?
- C++从 Java 角度设置和映射内存管理
- 将 JNI -> jobject(基本上是 java 文件中的映射和/或映射的映射)转换为 std::map(c++)
- 如何使用 JavaCpp 将函数调用从 c++ 映射到 Java?
- 从 Java 调用C++函数。映射"const char*"
- 将C++内存排序映射到Java
- 如何使用JNA将返回字符串数组(constchar**)的函数映射到Java
- 您将如何为 std::list<std::string> 创建一个类型映射,以在<String> List in C++ 中为 Java 在 SWIG 中创建?
- Java JNA映射中的VirtualAllocEx函数
- 使用JNA将const char**映射到Java类型
- Java 编程语言中的数据类型如何映射到本机编程语言(如 C 和 C++)中的数据类型
- java库类似于c++映射
- c++映射和Java入口
- 使用SWIG对java进行类型映射异常,仍然没有被捕获
- 如何使用 swig 类型映射将 std::vector<std::p air<std::string, int> > 从 java 返回到 c++
- 这个java映射代码的c ++版本是什么
- Java中读取的C++中的内存映射文件
- 为什么C++ STL 映射是慢速 Java 的映射类?
- java socket.read to b[] 忽略从 JNI 映射的区域