2015-03-08 21:31 GMT+01:00 Alessandro Re <a...@ale-re.net>:

> 2015-03-08 20:24 GMT+00:00 Manlio Perillo <manlio.peri...@gmail.com>:
> > Intendevo dire cosa usi per chiamare il codice C++.
>
> Ah, forse ho capito: intendi dire se uso qualche modulo python per
> usare C++, tipo ctypes?
> Non uso niente di simile: sto usando una libreria che ha dei binding
> in python, quindi includo il modulo, eredito una classe e costruisco
> su quella.
>
>
L'unica soluzione "semplice" che  mi venga in mente, è quella di costruire
dei proxy alle instanze delle classi C++ che usi,
così come il modulo weakref lo fa per oggetti Python.

Che io sappia in C++ l'unico modo per creare un proxy per una classe CT è
quello di creare una sotto classe e ridefinire i costruttori e il
distruttore.

class PT public CT {
   // nel costruttore accetti una callback
   // nel distruttore chiami la callback
}

Quindi quando il codice originale richiede un CT, tu instanzi e passi un PT.
Temo però che per casi non banali sia un bagno di sangue farlo a mano.
Però se la cosa è fattibile, sicuramente qualcuno l'ha già implementata


Ciao  Manlio
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a