[Python] Integrare Python in C++

Marco De Paoli depaolim a gmail.com
Mer 27 Maggio 2015 09:49:09 CEST


Il 27 maggio 2015 09:11, Marco Giusti <marco.giusti a posteo.de> ha scritto:
>
> Salve,
>
> avete esperienza a proposito in ambiente Windows? Quale è la strada
> consigliata? Ho visto che boost.python può essere una soluzione ma prima
> di gettarmi a capofitto sulla documentazione vorrei il vostro parere.

con boost::python avevamo fatto belle cose alcuni anni fa su Visual Studio 2008
della serie che puoi fare cose abbastanza magiche
(es. definire una classe in C++ e derivarla in python chiamando i
metodi della classe base)

metti in conto:
a) alti tempi di compilazione
b) saper mettere più o meno le mani sulle magie del template
metaprogramming tipiche di boost
c) in caso di errori di compilazione ricevere messaggi infiniti (come
è tipico del template metaprogramming)

per il punto 2 dipende poi quanto ti vuoi spingere...
se ti basta esporre qualche funzione C++ e poterla chimare da python è un conto
se invece vuoi inserirti, da python, nel sistema delle classi che hai
definito in C++ e derivare, ridefinire operatori, fare overload di
funzioni etc. etc. beh, diventa un'altra storia

(...in particolare a proposito dell'overload: ecco un punto in cui
puoi avere qualche rogna perchè python non lo permette...)

e comunque, rispetto a quando ci ho lavorato io con boost::python
- il C++ è andato avanti, e non poco (C++ 11 e C++ 14)
- boost è andato avanti anche lui (noi avevamo usato tipo boost 1.42)

per cui oggi come oggi, se dovessi averne bisogno sarei il primo a
dover rifare un check sullo stato attuale di boost::python

jm2c
bye,
Marco


Maggiori informazioni sulla lista Python