J'écris un module d'extension C/C++ pour d'autres langages et j'utilise SWIG pour générer les liaisons.Questions de fichier d'interface SWIG
J'ai deux questions
Puis-je inclure plus de 1 fichier d'en-tête dans la partie de la déclaration du fichier d'interface par exemple:
/* Déclarations exposées à wrapper: */
> %{ > #define SWIG_FILE_WITH_INIT > #include "a.h" > #include "b.h" > #include "c.h" %}
Dans tous les exemples que j'ai vus jusqu'à présent, après la déclaration d'en-tête (comme indiqué ci-dessus), les fonctions déclarées dans l'en-tête sont ensuite déclarées à nouveau dans le fichier d'interface. Est-ce vraiment nécessaire, car cela signifie qu'il y a deux copies des déclarations de fonctions qui doivent être maintenues.
Note: Je peux comprendre que certaines déclaration fonctions/méthodes peut-être besoin d'être « décoré » avec la déclaration « newObject » si ceux-ci doivent évidemment être dans le fichier d'interface, pour éviter les fuites de mémoire - mais , J'aurais bien qu'il suffirait d'inclure les en-têtes et seulement les déclarations des fonctions/méthodes qui doivent être déclarées avec 'newobject' - est-ce une façon de faire?
Pour la 2ème question, la réponse semble être un OUI au lieu d'un non (c.-à-je peux être paresseux , et juste inclure les en-têtes et ne pas redéclarer les prototypes de fonction) - Droit? – morpheous
Vous êtes interprétation dans le commentaire est correct: vous "pouvez être paresseux, et juste inclure les en-têtes et ne pas redéclarer les prototypes de fonction", mais la réponse à la question ("Est-ce vraiment nécessaire", lors de la discussion des prototypes de fonctions) est un non. – Yktula
merci pour la clarification :) – morpheous