STLFilt: déchiffreur de message d’erreur STL pour C ++

STLFilt simplifie et / ou reformate les messages d’avertissement et d’erreur C ++ longs, en mettant l’accent sur les diagnostics liés à STL (et pour MSVC 6, il élimine totalement les avertissements C4786 et leurs détritus). Le résultat rend compréhensibles bon nombre des diagnostics les plus cryptiques.

L’ingrédient actif de chaque distribution est un script Perl. Vous devez donc installer un interpréteur Perl. ActivePerl fonctionne mieux, et c’est gratuit.

Les téléchargements suivent, organisés par plate-forme:

Microsoft Visual C ++ 6/7/8/9: stlfilt.zip (484 Ko, mise à jour le 22/10/2007). Inclut le compilateur CL “Proxy”, l’utilitaire de contrôle résidant dans le plateau STLTask compatible avec les plates-formes multiples (capture d’écran) et la prise en charge du retour à la ligne des noms de types longs (voir la section gcc ci-dessous). La démo fonctionne: VC6 VC7 + noms de types longs. Prend en charge les environnements IDE et de ligne de commande, conjointement avec l’une ou toutes les bibliothèques C ++ suivantes:
MSVC natif 6
MSVC 7.x, 8.x, 9.x natif (le déchiffrement basé sur l’IDE dans VS2005 / 2008 fonctionne maintenant. Voir README-VC.txt)
STLport 4.x
Dinkum 3.08
Bibliothèque Dinkum Unabridged
gcc 2.9x / 3.x / 4.x (testé sous MinGW jusqu’à 4.1.1 et sous TDM gcc 4.2.2) Pour Windows: gstlfilt.zip (409K, mis à jour le 16/06/2008). Pour Unix, Linux, etc.: gstlfilt.tar (180K, mise à jour le 2/3/2008). Démo Run. Prend en charge l’habillage intelligent de noms de types très longs (tels que ceux apparaissant dans les applications de métaprogrammation de modèles) avec un ensemble de règles personnalisables suggérées par David Abrahams (Demo). La distribution gcc Decryptor basée sur Windows inclut désormais un compilateur Proxy c ++ (assure la compatibilité Dev-C ++ et compense également le manque de redirection stderr de l’invite de commande Win9X) et un utilitaire STLTask compatible avec plusieurs plates-formes. [Pour une jolie distribution sous Windows de MinGW gcc 3.x auto-installable, cliquez ici et téléchargez le programme d’installation automatique (nommé MinGW-x.x.x-x.exe dans la section Current / MinGW). Vous voudrez peut-être aussi lire ces notes si vous utilisez des conteneurs étendus (basés sur le hachage et slist)].
Comeau C ++: Pour Windows: comofilt.zip (35 Ko, mise à jour le 28/11/2003). Pour Unix, Linux, etc.: comofilt.tar (110K, mise à jour le 28/11/2003). Démo Run. Comeau Decryptor prend désormais en charge les bibliothèques libcomo et Dinkum. Un grand merci à Greg Comeau pour avoir intégré à son compilateur une prise en charge de STLFilt par ligne de commande intrinsèque, ainsi que pour son soutien assidu à tous les aspects de C ++ C ++ de Comeau, sans commune mesure avec le prix de vente microscopique de ce package!
EDG C ++ “Démo” Front End: Pour Windows: edgfilt.zip (32K, mise à jour le 25/11/2003). Pour Unix, Linux, etc.: edgfilt.tar (110K, mise à jour le 25/11/2003). Si vous utilisez Comeau ou Intel C ++, utilisez l’une de ces distributions spécifiques à la plate-forme ci-dessus. Cette version du compilateur de démonstration EDG a été testée uniquement avec la bibliothèque Dinkum.
Metrowerks CodeWarrior Pro 7/8: Pour Windows: cwfilt.zip (29 Ko, mise à jour le 24/11/2003). Pour OS X, Unix, Linux, etc.: cwfilt.tar (100K, mise à jour le 24/11/2003). Démo Run.
Digital Mars C ++: Prise en charge des outils de ligne de commande (jusqu’à présent, uniquement avec STLport): Pour Windows: dmcfilt.zip (31 Ko, mise à jour le 20/03/2004). Démo Run. Pour Unix / Linux, etc.: dmcfilt.tar (100K, mise à jour le 20/03/2004).
Vous trouverez ci-dessous des informations sur la version spécifique à un composant. Cliquez sur un numéro de version pour afficher le journal des modifications chronologiques inversées du composant associé:

STLFilt in Print

Un article du journal des utilisateurs C / C ++ de Leor Zolman, Un décrypteur de message d’erreur STL pour Visual C ++, apparaît dans le numéro de juillet 2001. Il est disponible pour la visualisation en ligne.

Dans leur livre C ++ Template Metaprogramming, David Abrahams et Aleksey Gurtovoy décrivent l’utilisation de STLFilt pour aider à la mise en forme et à la réorganisation des erreurs de métaprogrammation. Voir la section 8.2 (“Utilisation des outils pour l’analyse de diagnostic”), pages 156-158.

Bruce Eckel et Chuck Allison mentionnent STLFilt à la page 320 de Penser en C ++, volume deux: Programmation pratique

Nicolai Josuttis et Daveed Vandevoorde citent STLFilt dans la section 6.6.1 de leur livre C ++ Templates (2e impression et plus).

Scott Meyers mentionne STLFilt dans l’article n ° 49 de Effective STL. Remarque: la page de téléchargement officielle des archives du code source de Effective STL se trouve ici.

Donner et obtenir de l’aide

STLFilt est fourni en tant que logiciel libre open source dans l’intérêt de promouvoir l’apprentissage et l’utilisation du C ++. Si vous trouvez ce logiciel utile et souhaitez un moyen de renvoyer la faveur autrement que par des moyens financiers, veuillez noter que: l’auteur de STLFilt, Leor Zolman, propose une formation pratique sur site en langage C / C ++, Perl, Unix / Linux. et script Korn Shell. Faites connaître les offres de cours de BD Software aux personnes de votre département de formation informatique.

Un grand merci!” à Bjarne Stroustrup, Comeau Computing, Dinkumware et Metrowerks pour avoir aidé à faire passer le message via leurs sites Web.

STLFilt est un logiciel gratuit: open source, totalement gratuit, sans engagement de votre part … si vous trouvez le logiciel utile, veuillez cependant informer quelqu’un de la formation en C ++ sur site de BD Software.