In breve
📰 Titolo: Come integrare C++ e Python con Boost
📃 Format: Webinar
🆙 Livello: Intermedio
🎙 Chi: Gianni Valenti
Abstract della sessione
Ti è mai capitato di voler usare una libreria C++ in Python e di non sapere come fare?
Ti è mai capitato di voler ottimizzare e riscrivere in C++ delle funzioni Python poco performanti?
Vorresti avere il controllo su come vengono scambiati i dati tra C++ e Python senza inutili copie in memoria?
Ci sono vari tool per risolvere questi problemi ed integrare codice C++ in Python: Boost Python rappresenta una delle alternative. È una libreria Open Source che ci fornisce un’interfaccia semplice e concisa per collegare classi e funzioni C++ a Python, utilizzando i vantaggi dell’introspezione a compile-time e della metaprogrammazione. Boost Python fa parte del progetto Boost, un insieme di librerie C++ che da tempo offre varie soluzioni per semplificare lo sviluppo di codice in C++.
Ti verrà presentato Boost Python e le funzionalità che offre per esporre codice C++ al Python.
Dopo una breve presentazione, ti mostreremo un esempio di come costruire un modulo Python in cui i metodi di una classe C++ sono invocati dal Python.
Faremo un’analisi del lifetime degli oggetti C++ quando vengono istanziati in Python, confrontandoli con gli oggetti Python nativi.
Successivamente, ti mostreremo come definire dei convertitori custom da tipi C++ verso tipi Python e viceversa.
Ti mostreremo anche come ottimizzare il passaggio degli oggetti minimizzando le copie in memoria.
Il programma
- Introduzione a Boost e Boost Python
- Alternative: ctypes e cyton
- Esposizione di una classe C++ verso Python
- Lifetime degli oggetti C++
- Conversione da tipi C++ a tipi Python
- Live demo e conclusioni
Obiettivi della sessione
- Creare un modulo Python utilizzando la libreria Boost Python per integrare codice C++, con particolare attenzione alla gestione della memoria e alla conversione tra tipi.
Requisiti per la partecipazione:
- Conoscenza base del linguaggio di programmazione Python
- Conoscenza base del linguaggio di programmazione C++
Lo speaker
Gianni è un ingegnere elettronico, appassionato di software e programmazione fin dai tempi del Commodore 64.
Esperto di FPGA, C e C++, ha lavorato per più di dieci anni allo sviluppo di elettronica digitale e software nel campo della computer vision.
È arrivato in Develer da circa un anno e mezzo e si occupa di sviluppo in C++ e Qt.
Come partecipare o ricevere informazioni
Tutti possono partecipare ai nostri TechLabs gratuitamente: i link per la registrazione a workshop e webinar verranno via via pubblicati sul sito, nei profili social e saranno comunicati a tutti gli iscritti alle nostre newsletter.
Per essere sempre informato sui prossimi TechLabs, puoi iscriverti alla newsletter eventi, oppure seguici nei nostri profili social: