Comment envelopper C en Python
Il existe plusieurs façons d'encapsuler C en Python, et je ne sais pas laquelle utiliser, je les ai donc résumées. Cependant, je ne peux pas garantir que c'est correct car je ne l'ai pas vraiment essayé juste en le vérifiant. Il semble y avoir d'autres méthodes avec cpp.
Méthode
- Python/C API
- SWIG
- SIP
- Boost.Python
- ctypes
- cffi
- Cython
Python/C API
- Avantages
- Peut être complété avec CPython uniquement
--Souvent utilisé
--Désavantages
- Nécessite une compréhension approfondie des API Python, C et Python / C
- Comme il est écrit comme C, la quantité de code augmente
SWIG
- Avantages
- Il s'enroulera automatiquement
--Désavantages
- Le code complexe ne peut pas être enveloppé automatiquement
SIP
--Désavantages
--Il n'y a presque aucune information en japonais
Boost.Python
- Avantages
- Il s'enroulera automatiquement
--Désavantages
- Vous devez jouer avec le code du côté c
ctypes
- Avantages
- Il s'enroulera automatiquement
--Une fonctionnalité standard de Python
--Désavantages
- Le code complexe ne peut pas être enveloppé automatiquement
cffi
- Avantages
- Il s'enroulera automatiquement
--Désavantages
――Lorsque cela se complique, il ne peut pas être enveloppé automatiquement
--Il n'y a pas beaucoup d'informations en japonais
Cython
- Avantages
- Plus rapide que les autres outils d'emballage
--Facile à améliorer et simplifier l'interface
--Désavantages
- Il ne s'enroule pas automatiquement
Résumé
Cython a l'air bien