Come integrare C++ e Python con Boost

Webinar Come integrare C++ e Python con Boost

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: