[pyar] Swig c++ python

Agustín Rodríguez ing.agustin.rodriguez en gmail.com
Mie Ago 3 10:32:00 ART 2011


Hola lista!!!

Estoy trabjando con SWIG con el objetivo de hacer un python wrapper de una
lib que tengo creada en C++.

En la lib C++ tengo algo como lo siguiente:

std::vector<MyObject*> Foo::GetMyObjects()
{
    std::vector<MyObject*> container;

    for ...
        MyObject* obj = new MyObject;
        ...
        container.push_back(obj)

    return container;
}

El problema es que al parecer python no libera memoria.

Leyendo encontré que si uno desea devolver un pointer to Object es
conveniente usar %newobject para que
python pueda liberar memoria con el gc. Eso funciona perfectamente. Pero en
este caso cuando la función devuelve
un vectorde punteros de puntero a objetos, no se cómo indicarle a SWIG que
ese vector y sus componentes deben
ser eliminador cuando ya no exista referencias a ellos.

Si alguien me puede ayudar estaré super agradecido

Saludos!

-- 
Agustin
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20110803/4467da9c/attachment.html>


More information about the pyar mailing list