Swig-генерируемые константы в Python - PullRequest
0 голосов
/ 30 августа 2011

Я использую SWIG для создания интерфейса Python для моей библиотеки классов C ++.

Я не могу понять, как использовать константы, созданные SWIG в Python .Я даже не могу напечатать их значение.

Например, оба этих оператора печати в Python молча терпят неудачу ...

print CONST1
print rep (CONST1)

В C ++ , у меня есть это

#define CONST1 0x20000
const int CONST2 = 0x20000; // No different to #define in SWIG-generated code.

Если я посмотрю на модуль Python , созданный SWIG, то он будет выглядеть примерно так ...

CONST1 = _theCPPlibrary.CONST1

Кроме того, я попытался использовать SWIG%директива константы в качестве эксперимента (я действительно не хочу использовать это, если я могу избежать этого, поскольку это включает в себя дублирование моих констант во входном файле SWIG).Директива% constant также дает те же результаты.

Я программист на C ++ и новичок в Python.

1 Ответ

1 голос
/ 30 августа 2011

После сборки вы получите исходный файл python: theCPPlibrary.py и файл pyd: _theCPPlibrary.pyd.Сначала вы должны импортировать модуль python:

import theCPPlibrary

CONST1 определяется с помощью #define, доступ к нему может быть следующим:

print theCPPlibrary.CONST1

CONST2 определяется с помощью const, не является глобальнымпеременная, доступ к ней по:

print theCPPlibrary.cvar.CONST2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...