Articles of c

Envolviendo std :: vector of boost :: shared_ptr en SWIG para Python

EDIT: resuelto, mi error; Explicado en mi respuesta. Tengo esto: std::vector < boost::shared_ptr > entities; Y trato de exponerlo a través de SWIG así: %include “boost_shared_ptr.i” %include “std_vector.i” %shared_ptr(Entity) %include namespace std { %template(EntityVector) vector<boost::shared_ptr >; }; %include Sin embargo, en Python las entidades terminan siendo una tupla: import MyModule print type(MyModule.cvar.entities) # Output: (type […]

¿Lista de Python equivalente en C ++?

¿Podría decirme cuál es el tipo de datos más cercano en C ++ a la lista de python? Si no hay nada similar, ¿cómo lo construirías en C ++?

Clase Boost :: Python con plantillas de funciones: ¿Cómo agregar instancias desde afuera?

Resumen ¿Hay alguna forma (en C ++, no en Python) de agregar instancias adicionales de plantillas de funciones para una clase en Boost :: Python desde el exterior (mediante inyección, reabriendo la definición, registrando las instancias necesarias, etc.)? Fondo Dada una clase (no una plantilla de clase) que contiene miembros que son plantillas de función, […]

¿Por qué PyObject * puede apuntar a cualquier objeto en python?

En el código fuente de python, hay algunas definiciones de macros como esta: #define PyObject_HEAD \ int ob_refcnt; \ struct _typeobject *ob_type; #define PyObject_VAR_HEAD \ PyObject_HEAD \ int ob_size; typedef struct _object { PyObject_HEAD } PyObject; typedef struct _object { PyObject_HEAD long ob_ival; } PyIntObject; typedef struct { PyObject_VAR_HEAD } PyVarObject; La pregunta es, ¿por […]

tratar con endianness en c ++

Estoy trabajando para traducir un sistema de python a c ++. Necesito poder realizar acciones en c ++ que generalmente se realizan utilizando la struct.unpack de Python (interpretando cadenas binarias como valores numéricos). Para los valores enteros, puedo hacer que esto funcione (de alguna manera), usando los tipos de datos en stdint.h : struct.unpack(“i”, str) […]

Extiende python con C, regresa la matriz numpy da basura

Estoy envolviendo un archivo C para poder usarlo en Python. La salida de la función C es una matriz de dobles. Quiero que esto sea una matriz numpy en python. Yo consigo la basura Aquí hay un ejemplo que genera el error. Primero, el archivo C (enfocado en la última definición de función, todo lo […]

Constructores de clases Cython y C ++.

¿Puede alguien sugerir una forma de manipular objetos c ++ con Cython, cuando se espera que la instancia c ++ de una clase alimente al constructor de otra clase envuelta como se describe a continuación? Mire la nota en el archivo pyx para la clase PySession, que toma un objeto PyConfigParams de python como argumento […]

Construyendo el módulo de extensión Python con distutils.

Estoy usando distutils para construir un módulo de extensión de Python escrito en C ++. El problema que tengo es que para comstackr el módulo de extensión, necesito enlazar con una determinada biblioteca compartida. Esto requiere establecer un indicador de comstackdor adicional. Por lo tanto, busqué en los documentos de Python y descubrí la propiedad […]

Cómo llamar a una función python desde un hilo de idioma extranjero (C ++)

Estoy desarrollando un progtwig que utiliza DirectShow para capturar datos de audio de archivos multimedia. DirectShow usa el hilo para pasar datos de audio a la función de callback en mi progtwig, y ​​dejo que esa función de callback llame a otra función en Python. Utilizo Boost.Python para envolver mi biblioteca, la función de callback: […]

swig no hay módulo llamado _ejemplo

No puedo reproducir el ejemplo básico de SWIG en Windows. Mi error está en los documentos SWIG y estoy seguro de que hago las 2 correcciones que mencionan. Para este error: >>> import example Traceback (most recent call last): File “”, line 1, in ? File “example.py”, line 2, in ? import _example ImportError: No […]