2008-10-22 10 views
10

J'ai une bibliothèque tierce qui, pour diverses raisons, ne souhaite pas encore être liée. Je ne veux pas pour autant bloquer mon code pour supprimer toute référence à son API, donc j'aimerais en générer une implémentation fictive.Comment générer des définitions vides avec un fichier d'en-tête

Y at-il un outil que je peux utiliser qui crache les définitions vides de classes étant donné leurs fichiers d'en-tête? C'est bien de renvoyer des valeurs nulles, fausses et 0 par défaut. Je ne veux rien faire à la volée ou quoi que ce soit d'intelligent - les fausses bibliothèques d'objets que j'ai regardées semblent assez lourdes? Idéalement, je veux quelque chose à utiliser comme

$ generate-definition my_header.h > dummy_implemtation.cpp 

J'utilise Linux, GCC4.1

Répondre

0

Créer une application de test qui lit le fichier d'en-tête et crée le fichier source. L'application de test doit analyser le fichier d'en-tête pour connaître les noms des fonctions.

1

Il s'agit d'un problème plus difficile que vous pourriez souhaiter, car l'analyse C++ peut rapidement devenir une tâche difficile. Votre meilleur pari serait de choisir un analyseur existant avec une interface agréable.

Une recherche rapide a trouvé this thread qui a beaucoup de recommandations pour que les parseurs fassent quelque chose de similaire. Au pire, vous pourriez utiliser SWIG -> Python, puis utiliser la réflexion pour imprimer une implémentation fictive. Désolé, ce n'est qu'une demi-réponse, mais je ne pense pas qu'il existe un outil existant pour le faire (autre qu'un cadre moqueur, qui est probablement la même quantité de travail que l'utilisation d'un analyseur).

Questions connexes