在Python中生成常量

我正在使用SWIG为我的C ++类库创建一个Python接口。

我无法弄清楚如何利用Python中由SWIG创建的常量 。 我甚至无法打印他们的价值。

例如,Python中的这两个打印语句都会默默失败......

print CONST1
print rep (CONST1)

C ++中 ,我有这个

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

如果我看看由SWIG创建的Python模块 ,它有这样的东西...

CONST1 = _theCPPlibrary.CONST1

另外,我尝试使用SWIG%常量指令作为一个实验(如果我能避免它,我真的不想使用它,因为它涉及在SWIG输入文件中复制我的常量)。 %常量指令也给出了相同的结果。

我是一名C ++程序员,并且是Python中的noob。


编译后,你将得到一个python源文件:theCPPlibrary.py和一个pyd文件:_theCPPlibrary.pyd。 您必须先导入python模块:

import theCPPlibrary

CONST1由#define定义,它可以通过以下方式访问:

print theCPPlibrary.CONST1

CONST2由const定义,不是全局变量,可通过以下方式访问它:

print theCPPlibrary.cvar.CONST2
链接地址: http://www.djcxy.com/p/48329.html

上一篇: generated Constants in Python

下一篇: Can I use generated swig code to convert C++ object to PyObject?