相关疑难解决方法(0)

扩展python - 到swig,而不是swig或Cython

我发现了我的python代码中的瓶颈,与psycho等一起玩.然后决定为性能编写ac/c ++扩展.

在swig的帮助下,你几乎不需要关心论点等.一切正常.

现在我的问题是:swig创建了一个非常大的py文件,它在调用实际的.pyd或.so代码之前执行了很多'checkings'和'PySwigObject'.

如果你手写这个文件或者让swig这样做,你们中是否有人有任何经验可以获得更多的性能.

c c++ python swig cython

63
推荐指数
7
解决办法
3万
查看次数

Python属性和Swig

我试图使用swig为某些C++代码创建python绑定.我似乎遇到了一个问题,试图从一些访问器函数创建python属性我有如下方法:

class Player {
public:
  void entity(Entity* entity);
  Entity* entity() const;
};
Run Code Online (Sandbox Code Playgroud)

我尝试使用python属性函数创建一个属性,但似乎swig生成的包装类与它至少对于setter不兼容.

你如何使用swig创建属性?

c++ python swig properties

18
推荐指数
3
解决办法
7434
查看次数

Python非平凡的C++扩展

我有相当大的C++库,有几个支持它的子库,我需要把整个东西变成python扩展.我正在使用distutils因为它需要跨平台,但如果有更好的工具我会接受建议.

是否有办法使distutils首先编译子库,并在从主库创建扩展时链接它们?

c++ python swig distutils py++

4
推荐指数
1
解决办法
2382
查看次数

Python:有没有办法反复列出类的所有属性

鉴于如类

class MyClass:
    text = "hello"
    number = 123
Run Code Online (Sandbox Code Playgroud)

有没有办法在python中检查MyClass,确定它有两个属性textnumber.我不能使用类似的东西,inspect.getSource(object)因为我要使用SWIG生成它的属性(所以它们隐藏在.so :)).

所以我真的在寻找与Java相当的东西 [Class.getDeclardFields][1]

任何帮助将不胜感激,否则我将不得不用SWIG + JAVA而不是SWIG + Python来解决这个问题.

python reflection swig

4
推荐指数
1
解决办法
2039
查看次数

标签 统计

python ×4

swig ×4

c++ ×3

c ×1

cython ×1

distutils ×1

properties ×1

py++ ×1

reflection ×1