2010-06-06 19 views
12

Sto tentando di scrivere un wrapper Python per poker-eval, una libreria statica c. Tutta la documentazione che riesco a trovare su ctype indica che funziona su librerie condivise/dinamiche. Esiste un ctypes per le librerie statiche?ctypes per librerie statiche?

So di cython, ma dovrei usarlo o ricompilare il poker-eval in una libreria dinamica in modo che io possa usare i ctype?

Grazie,

Mike

risposta

8

La scelta è davvero a te. Se hai la possibilità di ricompilare la libreria come un oggetto condiviso, ti suggerirei, perché ridurrà al minimo il codice non-python che devi mantenere. Altrimenti, ti consigliamo di creare un modulo di estensione python che si colleghi alla libreria statica e avvolga le funzioni che espone.

Hai citato Cython; ecco la pagina di manuale rilevante se seguire questa strada:

http://docs.cython.org/src/tutorial/clibraries.html

C'è anche SWIG e Pyrex.

1

Non posso dire con certezza che non ci siano moduli là fuori, ma i vantaggi delle librerie dinamiche (usano meno spazio, possono aggiornarsi senza ricompilare i programmi dipendenti) sono tali che probabilmente stai meglio facendo proprio questo.

Problemi correlati