【发布时间】:2021-11-26 13:15:52
【问题描述】:
我们正在使用 jniwrapper 从 JAVA 与第 3 方 DLL 进行通信。 DLL 希望我们将指针作为 uint64_t 传递给回调函数。
typedef struct random_struct {
...
uint64_t callback; //!< A function pointer to the callback
..
}
因此,从jniwrapper 开始,我尝试使用 Void、Pointer 等从 Java 映射,但这些都不起作用。 DLL 抱怨回调设置无效。所以我的问题是如何将回调作为 uint64_t 进行通信。 有没有人使用 Jniwrapper 来满足这样的需求? 谢谢
【问题讨论】:
-
请edit您的问题,并添加一些有关您想要实现的目标的背景信息和minimal reproducible example。你想对转换/映射到
uint64_t的指针做什么? “这些都不行”到底是什么意思?您收到错误消息吗?还是意想不到的结果?您的问题可能是XY problem -
这不是函数指针在 C++ 中的样子。也不在 C 中。
标签: java c++ c java-native-interface jniwrapper