Abbiamo già parlato di Cython (per quanto mi riguarda, risultato: bocciato 😄) e una mia strada invece molto alternativa e creativa per Unire C e Python, vediamo oggi un altro caso: richiamare una funzione C all'interno di un programma Python! Ammetto che ho fatto prove diverse sbattendoci un po' la testa, vi presento la soluzione tramite CFFI (sito ufficiale) che ho ritenuto pratica e valida:
C Foreign Function Interface for Python. Interact with almost any C code from Python, based on C-like declarations that you can often copy-paste from header files or documentation
Vediamo prima la procedura concettuale, poi un esempio operativo.
- creare un file .C, con all'interno ad esempio una nostra funzione
- dobbiamo creare un file di memoria condivisa, formato .so ("share object") che permette di fare da tramite
- dobbiamo aver installato la libreria Python cffi
- nel file Python includiamo la libreria cffi e tramite opportune funzioni, richiamiamo il file "share object" che contiene la definizione della nostra funzione
- possiamo eseguire tramite Python la nostra funzione, che era stata definita in C
Unire C e Python con CFFI: gli step da seguire
In questo caso la funzione C è una semplice elevazione al quadrato e nel programma Python richiamiamo questa funzione mostrando a video il risultato di f(10) ovvero 100.
Una procedura abbastanza semplice, potenzialmente utile e interessante! 😀 Vediamo uno screenshot dei risultati.
