Swig python - c++ 如何使用类型 int8_t
我有一个C语言的函数,它的参数是一个8位的整数。
int8_t foo( int8_t x );
我想通过一个叫做swig的接口从我的Python代码中调用这个函数,但Python里没有int8_t这种类型。为了能使用这种类型,有一个Python模块叫做numpy。即使使用了这个模块,我还是没办法让这两个部分沟通起来。
你知道有没有办法在SWIG接口中定义这样的类型,以便能在Python中使用吗?
int8_t只是一个例子……我还需要为8到64位的有符号和无符号整数做同样的事情。
提前谢谢你,S。
1 个回答
39
在你的SWIG接口文件中使用:
%include "stdint.i"
在你第一次使用 uint8_t
之前。这样SWIG就会为你自动应用合适的类型映射。