2 votes

C++ : Déterminer rapidement la liste appropriée d'inclusions d'en-tête ?

Existe-t-il un outil ou une méthode permettant d'accélérer ce processus ?

Par exemple, je viens de diviser le fichier source neatTrick.cpp en deux fichiers distincts : neatTrickImplementation.cpp et neatTrickTests.cpp.

Ce que je dois faire maintenant, c'est parcourir la liste des #includes en haut de neatTrick.cpp et déterminer lesquels d'entre eux doivent aller dans le fichier d'implémentation, et lesquels doivent aller dans le fichier de tests. Certains des en-têtes sont nécessaires pour les deux, d'autres non. Certains peuvent même être complètement inutiles.

J'ai l'impression que mon processus (commencer avec rien, compiler, voir ce qui est cassé, ajouter l'inclusion appropriée, compiler à nouveau, répéter) produira le code le plus débridé, mais c'est tellement lent et frustrant. Je pense que ce serait génial si mon IDE pouvait analyser le reste des en-têtes de mon projet, voir lesquels pourraient éliminer le jeu d'erreurs actuel, et automatiser cette tâche pour moi.

1voto

Manuel Points 2569

Il y avait un paroles de Chandler Carruth sur la conférence "Going Native" de Microsoft (une conférence sur le C++) où il a dit que le projet d'outils Clang avait quelque chose en préparation pour résoudre exactement ce problème.

D'après ce que j'ai compris, il a été présenté comme quelque chose qu'aucun outil disponible publiquement n'est capable de faire pour le moment et la plupart des gens ont été assez impressionnés par cela.

Donc : Pour le moment il n'existe actuellement aucun outil de ce type. Dans un avenir proche vous obtiendrez probablement quelque chose comme ceci comme un outil basé sur Clang à compiler pour vous-même. A long terme Si vous avez besoin de plus d'informations, attendez-vous à ce que ce soit une fonctionnalité standard construite sur une chaîne d'outils Clang.

(Un peu OT : Il y a actuellement un discussion sur la liste des développeurs Clang/LLVM traiter avec une infrastructure d'outils et de services. Les outils n'existent pas encore mais sont en cours de développement actif, actuellement par les ingénieurs de Google, plus tard probablement par des personnes de l'ensemble de l'industrie et de la communauté open source Clang).

1voto

Pat Points 998

Lors de la conférence de l'ACCU à Oxford en avril dernier, l'un des orateurs, Peter Sommerlad, a fait une démonstration de cette fonctionnalité avec un plugin pour Eclipse CDT, écrit par l'un de ses étudiants. Je ne sais pas si ce plugin est déjà disponible publiquement, mais vous pourriez peut-être lui envoyer un e-mail pour lui demander...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X