Les premiers pas
Comme pour tout achat de logiciel, faites une copie de la disquette de distribution et utilisez-la. Conservez l'original en cas d'urgence et pour obtenir les mises à jour.
Votre disquette de distribution contient au moins les fichiers suivants :
| Fichier | Description |
|---|---|
| read.me | Fichier de documentation ou notes générales expliquant l'installation et l'utilisation de PC-lint. |
| list.exe | Programme utilitaire servant à lister le contenu ou les symboles d'un fichier (outil d'aide au diagnostic). |
| pr.exe | Programme utilitaire de formatage ou de présentation de sortie (impression ou mise en forme des rapports). |
| stdlib.c | Fichier source contenant des définitions standards ou des fonctions de base utilisées par PC-lint pour l'analyse. |
| sl-aztec.c | Fichier de support spécifique pour le compilateur Aztec C (définitions et adaptations de syntaxe). |
| sl-c86.c | Support pour le compilateur C86 (adaptation des conventions et extensions spécifiques). |
| sl-desm.c | Fichier de support pour un environnement/compilateur spécifique (probablement DESMET C). |
| sl-lc.c | Support pour le compilateur Lattice C. |
| sl-lc3.c | Variante ou mise à jour du support pour Lattice C version 3. |
| sl-msc.c | Support pour Microsoft C (MSC), utilisé pour adapter l'analyse aux spécificités du compilateur. |
| sl-mwc.c | Support pour Mark Williams C (MWC). |
| filea.c | Exemple de fichier source C utilisé pour démonstration ou test de lint. |
| fileb.c | Deuxième fichier source d'exemple pour démonstration ou test de lint. |
| test1.lnt | Fichier de configuration (options PC-lint) pour un premier scénario de test. |
| test2.lnt | Fichier de configuration (options PC-lint) pour un second scénario de test. |
| test1.out | Résultat de l'analyse PC-lint pour le scénario de test 1. |
| test2.out | Résultat de l'analyse PC-lint pour le scénario de test 2. |
| module1.c | Module C servant d'exemple ou de cas de test pour l'analyse. |
| module2.c | Deuxième module d'exemple ou de test. |
| module3.c | Troisième module d'exemple ou de test. |
| stdio.h | Fichier d'entête standard C utilisé pour les entrées/sorties (inclus dans les tests ou pour la compatibilité). |
Le groupe suivant contient des fichiers que vous utiliserez probablement dans votre environnement de travail. Il s'agit notamment de lint (lint.exe), d'un utilitaire d'impression (pr.exe) et de plusieurs définitions de bibliothèque standard compatibles avec différents compilateurs. Vous choisirez (et modifierez peut-être) l'un de ces fichiers pour votre utilisation régulière. Consultez le fichier «stdlib.c» pour savoir quels fichiers sont associés à quels compilateurs.
Les fichiers restants ne sont que des exemples d'entrées et de sorties permettant de vérifier le bon fonctionnement de PC-Lint. Notez qu'une version très simplifiée de stdio.h est fournie pour vous permettre d'effectuer ces tests simples. Veuillez ne pas l'utiliser dans votre environnement de compilation.
Pour tester PC-Lint, insérez la disquette contenant la version fonctionnelle de PC-Lint dans un lecteur approprié et définissez ce lecteur comme lecteur courant. Saisissez ensuite :
| lint files fileb |
Vous devriez voir le message suivant à l'écran :
|
PC-Lint Vers. 2.xx, Copyright Gimpel Software 1985, 1986 ---- Module filea.c ---- Module fileb.c File fileb.c, Line 5 if ( f(3000) ) return; ^ Warning 516: function f: arg. type conflicts (Arg. no. 1) with line 4, file filea.c |
Tout ce que vous voyez n'est pas forcément un message d'erreur. La première ligne indique la version de PC-Lint. Les deuxième et troisième lignes sont des messages d'avancement affichant généralement le nom des modules en cours de traitement. Ils servent essentiellement à fournir un rapport d'avancement lorsque PC-Lint traite de nombreux fichiers et qu'aucun autre élément n'est affiché. Il est possible de désactiver ou d'augmenter la fréquence de ces messages.
La quatrième ligne marque le début d'un message d'erreur. Ce message commence par une ligne identifiant le fichier et le numéro de ligne où l'erreur s'est produite. Vient ensuite la ligne elle-même, puis une ligne contenant un accent circonflexe (^) pointant vers l'endroit précis où l'erreur a été rencontrée. Suit ensuite une description de l'erreur sur une ou deux lignes (deux dans ce cas). En cas d'incompatibilité d'arguments de fonction, une référence est faite à un point précédent dans un autre module. Le nom du fichier et, éventuellement, le nom du module sont indiqués. (Si l'erreur s'était produite dans un fichier inclus, le nom du fichier aurait été différent du nom du module ; c'est pourquoi les deux sont indiqués.)
Vous pouvez essayer les autres exemples. Pour chaque fichier de la disquette de distribution :
| Name.lnt |
Un fichier de sortie nommé «Name.out» sera présent sur la disquette de distribution :
| Name.out |
Vous pouvez saisir du texte au niveau de la commande :
| lint Name.lnt |
Vous devriez voir apparaître à l'écran les informations contenues dans le fichier Name.out.
Pour simplifier et automatiser la comparaison de la sortie de PC-Lint avec les fichiers fournis, utilisez la redirection :
|
lint Name.lnt >temp comp Name.out temp |
où «comp» désigne le programme de comparaison de fichiers MS-DOS.
Maintenant que vous avez compris le principe, vous pouvez essayer PC-Lint sur certains de vos programmes. Gardez à l'esprit les points suivants :
- Les messages sont classés en quatre catégories de gravité : erreurs fatales (Fatal Errors), erreurs de syntaxe (Syntax errors), avertissements (Warning) et messages d'information (Informational).
- Les paramètres par défaut affichent généralement un nombre maximal de messages. Si vous utilisez PC-Lint sur d'anciens programmes C, vous souhaiterez presque certainement réduire ce nombre. De nombreuses options permettent d'éliminer les messages indésirables.
- Pour vérifier les appels de bibliothèque dans vos programmes, utilisez le fichier stdlib.c ou un fichier dont le nom commence par «sl-».
- Il est possible d'automatiser l'utilisation de PC-Lint avec des fichiers indirects. Dans les exemples précédents, les fichiers se terminant par .lnt sont des fichiers indirects.