• [^] # Re: J'ai rien compris ...

    Posté par . En réponse au journal Python et SWIG. Évalué à 2.

    "une classe Python à partir d'une structure C"

    C'est bien ce que fait SWIG.

    "montrer rapidement comment enregistrer le destructeur et le constructeur"

    Oki si tu penses que c'est important je peux le faire.

    "Ensuite, le GC (garbage collector) n'a absolument rien à faire dans ton exemple"

    Bien sûre que si, c'est justement le but de cette article de montrer comment fonctionne le GC de python avec SWIG.

    "De plus, celui qui ne libère pas la mémoire n'est pas Python mais SWIG ... Python a probablement libéré la mémoire nécessaire pour stoquer sa structure à lui !"

    Python ne libère pas la mémoire mais c'est lui qui commande cette libération via SWIG. Donc quand Python n'a plus de référence sur un objet (dans ce cas une structure) le GC supprime l'objet Python. Le destructeur de cet objet Python commande à la bibliothèque la libération de la mémoire via le destructeur généré automatiquement par SWIG. On s'affranchi ainsi de la gestion de la mémoire tant qu'on respecte la règle de ne pas créer la structure dans une fonction C/C++.