Articles of boost python

Cómo importar una función desde el archivo python por Boost.Python

Soy totalmente nuevo para boost.python. Revisé muchas recomendaciones sobre el uso de boost.python para aplicar con python, sin embargo, todavía no es fácil de entender y encontrar una solución para mí. Lo que quiero es importar una función o clase que directamente desde un “SourceFile” de python Archivo de ejemplo: Main.cpp MyPythonClass.py Digamos que si […]

Potenciar Python: ¿contenedor polimórfico?

Tengo un método (o función) que devuelve una referencia a una lista de objetos polimórficos: class A { }; class B : public A { }; std::list<boost::shared_ptr >& getList(); ¿Cómo expongo una función de este tipo en boost :: python para que al iterar en la lista en python, vea los diferentes tipos de A […]

¿Cómo funciona la importación con Boost.Python desde dentro de los archivos python?

Estoy utilizando Boost.Python para incrustar un intérprete en mi ejecutable de C ++ y ejecutar algunos scripts preescritos. Lo tengo funcionando para poder llamar a funciones en el archivo de Python, pero el código de Python que quiero usar importa archivos externos y estas importaciones fallan porque “no hay un módulo llamado”. Sin embargo, si […]

¿Necesitas ayuda para comenzar con Boost.Python?

Estoy tratando de construir mi primer ejemplo de Boost.Python. #include #include using namespace boost::python; class Hello { public: std::string greet() { std::cout << "Hello World" << std::endl; } }; BOOST_PYTHON_MODULE(hello) { class_(“Hello”) .def(“greet”, &Hello::greet); } int main() { std::cout << "Boost.Python Test" << std::endl; Hello hello; hello.greet(); return 0; } EDITAR: faltaban los encabezados de […]

¿Cómo exponer buffers de bytes sin procesar con Boost :: Python?

Tengo una biblioteca de C ++ de terceros en la que algunos métodos de clase utilizan buffers de bytes sin procesar. No estoy muy seguro de cómo tratar con Boost :: Python. El encabezado de la biblioteca C ++ es algo así como: class CSomeClass { public: int load( unsigned char *& pInBufferData, int & […]

¿Qué hay de malo con las transmisiones de c ++ al usar boost.python?

Actualización 2: No estoy seguro de por qué esto todavía está siendo mejorado (marzo de 2014). Esto parece estar solucionado ya que hice esta pregunta hace muchos años. Asegúrate de estar usando una versión reciente de boost. ACTUALIZACIÓN: ¿Es posible que las secuencias de C ++ deban inicializarse para dar formato a los números, y […]

Incorporación de Python en C ++ y métodos de llamada desde el código C ++

Intento incrustar un script de Python en mi progtwig C ++. Después de leer algunas cosas sobre incrustar y ampliar, entiendo cómo abrir mi propio script de Python y cómo pasarle algunos enteros. Pero ahora estoy en un punto y no entiendo cómo resolver mi problema. Tengo que hacer ambas cosas, llamando a las funciones […]

No se puede importar una DLL personalizada en Python

Estoy tratando de exponer una clase de C ++ a python con boost::python , así que estoy revisando este tutorial . .dll proyecto de Visual Studio .dll , con este código fuente: #include using namespace boost::python; struct World { void set(std::string msg) { this->msg = msg; } std::string greet() { return msg; } std::string msg; […]

Qué hace error_already_set en Boost.python y cómo manejar las excepciones de manera similar en la API de Python C

He estado trabajando en un proyecto en el que quiero eliminar las dependencias de impulso y reemplazarlo con la API de Python C. Pasé un tiempo entendiendo la API de Python C y vi este catch (error_already_set const &) Leí los documentos de impulso pero explica dónde se usa. Pero quiero saber por qué se […]

Ejemplo de Boost Python Hello World que no funciona en Python

Estoy teniendo muchos problemas al usar mi código c ++ de Visual C ++ (envuelto por boost) en Python. Bien, las herramientas que estoy usando son: Visual Studio 2010, BoostPro 1_47, Windows 7 y Python 2.7 (32 bits). Tengo el siguiente código que comstack muy bien en Visual Studio 2010: #define BOOST_PYTHON_STATIC_LIB #include using namespace […]