使用swig包装参数为struct和int的函数

时间:2014-10-09 14:12:00

标签: c ruby swig

我花了几天时间弄清楚如何包装C结构,但到目前为止还没有成功。

这是我的C函数:

abc_return_t
       abc_method (abc_context ** context,
          int set_from_os)

abc_context是一个结构。我应该在interface(.i)文件中写什么,以便从Ruby传递**上下文?现在我可以使用my_module.abc_method(nil,1)并获得结果,但我无法传递上下文。当我传递像my_module.abc_method(context,1)这样的上下文参数时,我收到错误Expected argument 0 of type abc_context **, but got String "context"

我查看了其他Stack Overflow问题,其中大多数都指向了我可以创建类似my_module.name_of_struct()之类的结构的方向。不幸的是,这对我不起作用。对,我没有在.i文件中写任何东西,以便swig包装函数。

以下是abc.i文件:

%module my_module
%{
  #include "/usr/local/include/abc.h"
%}

 %include "/usr/local/include/abc.h"

0 个答案:

没有答案