gpt4 book ai didi

java - 如何为单个 C 函数生成多个包装器?

转载 作者:太空宇宙 更新时间:2023-11-04 09:09:41 25 4
gpt4 key购买 nike

我有一个像这样的 C 函数。

void useData(char* buf) {
// TODO.....
}

通过 swig 我成功地生成了这个。

public static void useData(SWIGTYPE_p_char buf) {
// SWIG stuff....
}

现在这有效了,但有时我想传递 ByteBuffer 而不是 SWIGTYPE_p_char。通过另一个类型映射,我成功地生成了这个。

public static void useData(ByteBuffer buf) {
// SWIG stuff....
}

这可行,但我的新类型映射会覆盖旧类型映射,并且我无法再使用 SWIGTYPE_p_char 调用该函数。

我的目标是生成 useData 函数的两个入口点,一个采用 ByteBuffer,另一个采用 SWIGTYPE_p_char

我已经用谷歌搜索并阅读文档好几天了,但我找不到任何东西。

这是我可以使用 SWIG 实现的吗?或者我缺少什么?我非常感谢指针、特定文档或替代搜索词。

编辑:使用 ByteBuffer 类型映射,SWIG 仅生成 ByteBuffer,但不生成 SWIGTYPE_p_char。我正在尝试让它同时生成两者。

最佳答案

您可以保留这两个生成的函数。从 java 方面来说这是完全有效的。

关于java - 如何为单个 C 函数生成多个包装器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59805024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com