SWIG-将结构从C返回到Java

SWIG-将结构从C返回到Java,java,c,struct,swig,Java,C,Struct,Swig,我正在尝试包装(其中结果是ints/typedef ed ints的结构): 与java中的函数等价(这将引发异常,而不是返回错误): 我已尝试以类型映射方式实现解决方案,如所述:。然而,我在这一行遇到了一个障碍: // After the call copy the result back %typemap(argout) cl_instance_t * %{ *($1_ltype)&$result = *$1; %} 执行此操作时,函数调用会匹配,至少在顶部运行的Java代码中

我正在尝试包装(其中结果是ints/typedef ed ints的结构):

与java中的函数等价(这将引发异常,而不是返回错误):

我已尝试以类型映射方式实现解决方案,如所述:。然而,我在这一行遇到了一个障碍:

// After the call copy the result back
%typemap(argout) cl_instance_t * %{
  *($1_ltype)&$result = *$1;
%}
执行此操作时,函数调用会匹配,至少在顶部运行的Java代码中是如此,但是这无法工作,因为SWIG生成的访问器具有与其函数调用不匹配的签名(其他
cPtr
this

我已尝试按照以下回答中的说明进行操作:“,后续操作:”。但是,swig预处理器语句,例如
%inline%{…%}
,似乎无法解释。这里是否依赖于SWIG版本?目前是2.04

我在开源swig项目中做了一番探索(例如,这些项目似乎提供了一个更简单的接口,通过API所需的调用更少),是否有建议的方法确保您提供了一个干净的API

result_t get_result(instance_t instance);
// After the call copy the result back
%typemap(argout) cl_instance_t * %{
  *($1_ltype)&$result = *$1;
%}