Swig Python - C ++, как использовать тип int8_t - PullRequest
16 голосов
/ 17 января 2012

У меня есть функция C, которая принимает в качестве параметра 8-битное целое число

int8_t foo( int8_t x );

Я хотел бы вызвать эту функцию из моего кода Python с использованием интерфейса Swig, но тип int8_t не существует в Python. Для того, чтобы иметь такие типы, существует модуль python, называемый numpy. Даже используя это все же, мне не удается соединить 2.

Знаете ли вы, существует ли какой-либо способ определения такого типа в интерфейсе SWIG, чтобы можно было использовать его из python?

int8_t это просто пример ... я должен сделать то же самое для подписанных / неподписанных от 8 до 64 бит

Спасибо заранее, S.

1 Ответ

27 голосов
/ 17 января 2012

В вашем файле интерфейса SWIG используйте:

%include "stdint.i"

до , когда вы впервые используете uint8_t.Затем SWIG применит для вас подходящую карту типов.

...