Les premiers pas
Le QuickC 2.51 est un logiciel permettant de programmer en langage de programmation C sous DOS. Bien avant de pouvoir programmer en QuickC 2.51, il faut d'abord connaître son environnement de développement intégrée (IDE).
L'environnement QuickC 2.51
Le logiciel QuickC 2.51 est un environnement de programmation basé sur des fenêtres intégrant un éditeur de texte, un compilateur, un éditeur de liens, un utilitaire de débogage, un utilitaire make et une base de données d'aide en ligne.
Fenêtres et menus
Le système de menus vous permet de trouver rapidement la commande ou l'action dont vous avez besoin. La première partie de cette page explique comment ouvrir et fermer des fenêtres et comment naviguer dans les menus. Il définit également certains termes utilisés tout au long de cette page.
Éditeur
Lorsque vous écrivez du code source, vous passerez beaucoup de temps à utiliser l'éditeur QuickC 2.51. Si vous connaissez les commandes WordStar, vous saurez comment utiliser l'éditeur QuickC 2.51. Si vous préférez personnaliser l'éditeur, vous pouvez utiliser l'utilitaire MKKEY.
Compilateur/éditeur de liens
Vous pouvez compiler, lier et tester un programme sans jamais quitter l'éditeur. L'environnement intégré de QuickC 2.51 vous fait gagner des heures de temps de développement.
Débogueur
Le débogueur vous permet de définir des points d'arrêt, de surveiller l'état des variables clefs et de suivre l'exécution du programme ligne par ligne. Le programme LEARN comprend une leçon fournissant plus de détails sur les nouvelles améliorations avancées du débogage.
Utilisation des fenêtres et des menus
Même si vous n'avez jamais utilisé les fenêtres et les menus auparavant, vous trouverez l'environnement de programmation QuickC 2.51 facile à apprendre. Vous apprendrez à contrôler les fenêtres et à choisir les commandes dans les menus.
Pour commencer
Pour exécuter le logiciel QuickC 2.51, tapez la commande suivante :
QC |
au prompt DOS. Vous entrerez immédiatement dans l'éditeur QuickC 2.51. Si vous saisissez un nom de fichier après la commande QC, par exemple :
QC MAFICH.C |
Le logiciel QuickC 2.51 ajoute automatiquement l'extension .C marquant un fichier source C. Si vous tapez la ligne ci-dessus, le logiciel QuickC 2.51 charge le fichier «MAFICH.C». Si QuickC 2.51 ne trouve pas le fichier que vous avez spécifié dans le répertoire courant, il vous demande si vous souhaitez créer un nouveau fichier.
Si vous n'entrez pas de nom de fichier après la commande QC, le QuickC 2.51 ouvre un fichier vide nommé UNTITLED.C, que vous pouvez renommer ultérieurement ou enregistrer sous un autre nom.
Options de ligne de commande
En fonction de votre matériel particulier, vous devrez peut-être inclure l'une des options suivantes sur la ligne de commande après la commande QC mais avant le nom du fichier, par exemple, QC /b MONPROG :
Option | Matériel |
---|---|
/b | Pour les systèmes noir et blanc, y compris les moniteurs monochromes Hercules, les écrans LCD et les moniteurs noir et blanc. |
/g | Pour les systèmes compatibles AT qui rafraîchissent l'écran à un rythme plus lent que l'AT standard (y compris certains systèmes COMPAQ). |
/h | Pour les systèmes équipés de cartes graphiques compatibles EGA, VGA ou MCGA capables d'afficher plus de 25 lignes de texte. Les cartes vidéo EGA peuvent afficher 43 lignes de texte, les cartes VGA peuvent en afficher 50. Vous pouvez utiliser une souris Microsoft (ou entièrement compatible) avec cette option. |
/k | Charge un fichier clef avec des commandes personnalisées de l'éditeur QuickC 2.51. |
/nohi | Pour les systèmes ne prenant pas en charge les couleurs à haute intensité (y compris les moniteurs LCD monochromes et certains moniteurs couleur Amdek). |
Utilisation de la souris et du clavier
Vous pouvez saisir toutes les commandes à partir du clavier. Si vous possédez une souris Microsoft (ou entièrement compatible), vous pouvez choisir d'utiliser le clavier ou la souris pour entrer des commandes.
Les fenêtres
Le système de fenêtres et de menus est simple à utiliser et intuitif. De nombreux programmeurs peuvent apprendre à utiliser l'environnement QuickC 2.51 sans apprendre les termes décrivant les différents menus et boutons. De plus, si vous êtes confus au sujet des fenêtres ou des menus, vous pouvez presque toujours appeler une fenêtre d'aide expliquant le fonctionnement d'un menu.
L'image suivante montre un écran QuickC 2.51 typique, avec des étiquettes décrivant ses parties. Certaines parties ne fournissent que des informations :
Par exemple, si la touche CAPS LOCK est activée, une lettre C apparaît dans le coin inférieur droit. La lettre C est informative (elle vous indique que la touche CAPS LOCK est activée). D'autres parties d'une fenêtre exécutent des actions déclenchées par une action spécifique de la touche ou de la souris. Par exemple, si vous cliquez sur la petite case dans le coin supérieur gauche d'une fenêtre, la fenêtre se ferme. La boîte n'est pas informative; elle est active.
Nom | État | Utilisation |
---|---|---|
Bouton de fermeture | Actif | Ferme la fenêtre en cours (la fenêtre source ne peut pas être fermée). Apparaît dans le coin supérieur gauche. |
Barre de menu | Actif | Affiche la liste des noms des menus disponibles. |
Barre de titre | Informationnel | Affiche le nom de la fenêtre (la barre de titre de la fenêtre source liste le fichier en cours d'édition). |
Fenêtre source | Actif | Contient le code source du programme que vous écrivez. Sept autres fenêtres sont prises en charge : Debug, Help, Locals, Registers, Notepad, Output et Errors. |
Bouton de maximisation | Actif | Réduit ou agrandit la fenêtre actuelle. |
Barre de référence | Informationnel/Actif | Affiche la liste des raccourcis clavier (utilisateurs du clavier) et les commandes directes vers QuickC 2.51 (utilisateurs de la souris). |
Barre de défilement | Actif | Indiquez votre position dans le fichier en cours. Si vous cliquez dans la zone grise de chaque côté du marqueur de position, vous vous déplacez dans cette direction. Si vous cliquez sur les flèches, vous vous déplacez d'une ligne (ou d'un caractère) dans cette direction. Si vous cliquez et faites glisser l'indicateur de position, vous pouvez vous déplacer n'importe où dans le fichier. |
Indicateurs de ligne et de colonne | Informationnel | Affiche la ligne et la colonne actuelles du curseur de texte. C signifie que CAPS LOCK est activé. N signifie que NUM LOCK est activé. |
Indicateurs d'état de fichier | Informationnel | R signifie que le fichier est défini sur l'état Lecture seulement. D signifie que l'historique de débogage est activé. I signifie que l'historique de débogage inclut les entrées de l'utilisateur. |
Utilisation de la barre de menus
Pour choisir dans un menu, vous "déroulez" ou "ouvrez" le menu et choisissez la commande souhaitée :
- Appuyez sur la touche ALT pour activer la barre de menus.
- Appuyez sur le caractère en surbrillance dans le nom du menu (F=File, par exemple).
- Appuyez sur le caractère en surbrillance dans le nom de l'élément (dans le menu File, S=Save, par exemple).
ou suivez ces étapes :
- Appuyez sur la touche ALT.
- Utilisez les touches de flèche ← et → pour accéder au menu souhaité.
- Utilisez les touches de flèche ↑ et ↓ pour mettre en surbrillance la commande.
- Appuyez sur la touche ENTER.
ou :
- Ouvrez le menu en cliquant sur le nom du menu.
- Cliquez sur la commande.
Faire disparaître le menu
Si à un moment donné vous décidez que vous ne voulez pas choisir une commande dans un menu, vous pouvez faire disparaître le menu :
- Appuyez sur la touche ESC.
- Cliquez quelque part sur l'écran en dehors du menu.
Raccourcis claviers
Dans les menus ci-dessous, vous remarquerez que certains éléments de menu sont suivis de noms de touches. Ce sont les «touches de raccourci» pour les commandes très utilisées. Par exemple, la commande Run du menu Restart est suivie de Shift+F5, ce qui signifie qu'au lieu d'ouvrir le menu Run et de choisir la commande Restart, vous pouvez à la place maintenir la touche Shift et appuyez sur F5.
Les menus
La barre de menus contient dix menus, que vous pouvez dérouler à tout moment. Si vous ne savez pas ce que fait un menu, appelez le système d'aide en ligne en mettant en surbrillance le titre du menu (ou en mettant en surbrillance une commande dans un menu) et en appuyant sur F1 ou en cliquant sur le bouton droit de la souris. Le QuickC 2.51 utilise les menus suivants :
Le menu File contrôle les fichiers, vous permettant d'effacer la fenêtre source (New), de charger un fichier source existant (Open), d'ajouter un fichier au code source en mémoire (Merge), d'enregistrer le fichier actuel (Save), de renommer le fichier en cours (Save As), imprimer le code source sur l'imprimante (Print), quitter temporairement sous DOS (DOS Shell) et revenir à QuickC 2.51 en tapant EXIT sur la ligne de commande, ou quitter définitivement QuickC 2.51 (Exit).
Dans le menu Edit, vous manipulez du texte en supprimant (Clear), coupant (Cut), copiant (Copy) et collant (Paste) des lignes de code. Vous pouvez également définir l'état Read Only pour protéger les fichiers source.
Le menu View contrôle l'écran visible. Vous pouvez basculer rapidement entre plusieurs modules (Source), lire les fichiers inclus (Include), rendre visible l'écran de sortie (Output Screen), agrandir la fenêtre source (Maximize) ou ouvrir et fermer les différentes fenêtres (Windows...).
Le menu Search appelle les commandes recherchant (Find) ou remplacent du texte (Change...) ou des fonctions (Function...) dans les fichiers source. Il se déplace également vers une ligne spécifiée (Go to...) et recherche la ligne source suivante (Repeat Last Find) ayant provoqué une erreur de compilation (Next Error, Previous Error).
Le menu Make permet de compiler (Compile File) ou de compiler et lier (Build Program) des programmes. A partir de ce menu, vous pouvez également créer (Set Program List...) ou modifier (Edit Program List...) des listes de programmes nommant les composantes d'un programme multimodule.
Une fois qu'un programme est compilé et réside en mémoire, utilisez le menu Run pour l'exécuter (Go). Vous pouvez l'exécuter du début (Restart) à la fin, exécuter de manière sélective des sections individuelles (Trace Into) ou parcourir le programme ligne par ligne (Animate).
Si votre programme contient des erreurs logiques, le menu Debug vous permet de définir des points d'arrêt, des points de surveillance et des valeurs de surveillance. De plus, vous pouvez suivre les variables et leurs valeurs changeantes. (Cette fonctionnalité signifie qu'il n'est pas nécessaire de saupoudrer les fonctions printf dans votre programme uniquement pour surveiller les variables lorsqu'elles changent de valeur.)
Le menu Utility vous permet d'exécuter des commandes et des programmes DOS (Run DOS Command...) à partir de l'environnement QuickC 2.51. Vous pouvez exécuter le didacticiel QuickC 2.51 en ligne (Learn QuickC) ou, si vous constatez que vous utilisez souvent certains programmes, vous pouvez les ajouter au menu Utility (Customize Menu...). Par exemple, vous pouvez ajouter votre éditeur de programme (Custom Editor) préféré à ce menu si vous le souhaitez.
Les éléments du menu Options contrôlent l'environnement intégré. Par exemple, la commande Color... du menu Options vous permet de modifier les couleurs utilisées à l'écran. La commande Make... du menu Options contrôle les drapeaux affectant les actions du compilateur et de l'éditeur de liens.
Le menu Help est un moyen d'accéder au système d'aide en ligne, comme par exemple la liste des fonctions (Index), le sommaire des sujets (Contents),...
Short Menus et Full Menus
Si vous ouvrez le menu Option, vous verrez l'un des deux menus ci-dessous :
Lorsque six commandes sont répertoriées sous Options et qu'un point apparaît à côté de Full Menus, cela signifie que les menus complets sont activés. Lorsque le menu Options ne contient que deux commandes et que Full Menus n'a pas de point, les menus courts sont actifs.
Pour passer des menus complets aux menus courts ou vice versa, choisissez la commande Full Menus. La commande est un bouton bascule ; c'est-à-dire qu'il passe de activé à désactivé, ou de désactivé à activé, lorsqu'il est enfoncé. Les menus courts contiennent toutes les commandes dont vous avez besoin pour écrire, compiler et exécuter un programme C. Les menus courts peuvent sembler plus faciles à utiliser, surtout pour les débutants. Si vous préférez voir toutes les options possibles, vous devez activer les menus complets. Le choix t'appartient.
Commandes ombrées
Lorsqu'une commande d'un menu est grisée, elle n'est pas disponible. Vous ne pouvez pas l'utiliser. Par exemple, lorsque vous exécutez QuickC 2.51 pour la première fois et que vous n'avez pas encore compilé ou lié un programme, vous pouvez ouvrir le menu Search et voir que Next Error et Previous Error sont grisées. Vous n'avez rien fait pour générer des erreurs, il n'y a donc aucune erreur à afficher.
Points de suspension
Lorsqu'une commande est suivie de trois points (des points de suspension), cela signifie que QuickC 2.51 a besoin de plus d'informations avant d'exécuter la commande. Si une commande n'est pas suivie de points de suspension, la sélection de la commande entraîne son exécution immédiate. Par exemple, le menu File contient à la fois les commandes Save et Save As.... Si vous choisissez Save, le QuickC 2.51 enregistre le fichier actuel sous le nom actuel (le nom du fichier apparaissant en haut de la fenêtre source). Choisir Save As... fait apparaître une boîte de dialogue. Dans cette boîte de dialogue, vous tapez le nouveau nom de votre fichier.
Boîtes de dialogue
Très souvent, l'appel d'une commande de menu provoque l'apparition d'une boîte de dialogue. Par exemple, l'image suivante montre la boîte de dialogue ouverte par la commande Display du menu Options :
Les boîtes de dialogue proposent généralement un ensemble de touches de raccourci. Appuyez sur ALT pour voir quelles touches sont actives dans une boîte de dialogue.
Les boîtes de dialogue peuvent contenir un ou plusieurs des éléments de la liste suivante. Utilisez la touche TAB pour vous déplacer entre les différents éléments d'une boîte de dialogue.
Éléments | Description |
---|---|
Boutons d'options (•) | Les boutons d'options offrent une liste de choix, parmi lesquels vous n'en choisissez qu'un. Utilisez les touches fléchées pour vous déplacer entre les choix. Dans l'image précédente, quatre boutons d'options vous permettent de choisir la couleur d'écran que vous préférez. Ceux-ci sont parfois appelés "boutons radio" car ils sont similaires aux boutons d'un autoradio : appuyer sur un bouton fait sortir les autres. |
Case à cocher [X] | Une case à cocher est un commutateur oui/non. Si la case est vide, la fonction est désactivée. S'il contient une lettre X, la fonction est activée. Appuyez sur la Barre d'espace pour activer ou désactiver une case à cocher. Utilisez la touche TAB pour vous déplacer entre les cases à cocher. |
Zone de texte [ ] | Une zone de texte contient le texte que vous saisissez. Dans l'image précédente, le réglage de Tab Stops nécessite que vous tapiez le nombre d'espaces à insérer lorsque vous appuyez sur la touche TAB. |
Boutons de commande <OK> | Les boutons de commande entre crochets pointus transmettent les commandes à la boîte de dialogue. Le bouton <OK> signifie que vous êtes satisfait des choix que vous avez faits. Le bouton <Cancel> vous permet de quitter la boîte de dialogue sans aucun changement. Si l'un des boutons de commande est en surbrillance, appuyez sur ENTER pour appeler cette commande. |
Zones de liste | Certaines boîtes de dialogue affichent le répertoire du disque en cours dans une zone de liste. Si le nombre de fichiers est trop grand pour la zone de liste, vous pouvez utiliser les touches fléchées et PGUP/PGDN (clavier) ou cliquer sur la barre de défilement pour vous déplacer dans la liste (souris). |
Utilisation de l'éditeur
L'éditeur de programme de QuickC 2.51 est une partie importante de l'environnement QuickC 2.51.
Se déplacer dans un fichier source
Beaucoup de vos touches dans l'éditeur agissent comme vous vous en doutez. Les touches PGDN et PGUP vous font avancer ou reculer dans le code source. La touche HOME déplace le curseur au début de la ligne courante. La touche END déplace le curseur à la fin de la ligne courante. Les touches fléchées déplacent le curseur d'un caractère à la fois. Le QuickC 2.51 possède également une commande pour se déplacer dans un fichier source : La commande Go To du menu Search déplace le curseur sur un numéro de ligne spécifié.
Vous pouvez invoquer de nombreuses commandes de l'éditeur de deux manières différentes. Par exemple, pour déplacer un mot vers la droite, vous pouvez appuyer sur Ctrl+→ ou CTRL+F. Le deuxième choix fait partie du ensemble de commandes compatible WordStar. Si vous connaissez les commandes WordStar, vous savez déjà comment utiliser l'éditeur QuickC 2.51. Il y a une différence que vous devez savoir; vous n'utilisez pas de commandes distinctes pour marquer le début et la fin d'un bloc de texte.
Pendant que vous travaillez sur un programme C, vous souhaiterez peut-être supprimer un gros bloc de texte ou le copier à un autre endroit du programme. Pour cela, vous devez définir le bloc :
- Déplacer le curseur au début du bloc. Maintenez la touche SHIFT enfoncée et déplacez-vous jusqu'à la fin du bloc. Utilisez les autres touches d'édition (HOME, END, CTRL+→,...) tout en maintenant la touche SHIFT enfoncée pour étendre le bloc.
- Déplacez le curseur de la souris au début du bloc. Tout en maintenant le bouton gauche enfoncé, déplacez-vous jusqu'à la fin du bloc.
Après avoir défini un bloc, vous pouvez faire plusieurs choses : utilisez la touche DELETE pour l'effacer ou utilisez SHIFT+DEL pour le copier dans le tampon Paste (Coller) (puis utilisez SHIFT+INS pour insérer le tampon dans le fichier source au niveau du curseur courant emplacement). Lorsqu'un bloc est défini, tout ce que vous tapez remplacera le texte défini. Vous pouvez également appuyer sur la touche TAB pour mettre en retrait le bloc entier d'un paramètre de tabulation supplémentaire ou sur SHIFT+TAB pour supprimer tous les paramètres de tabulation.
Personnalisation de l'éditeur
Si vous préférez utiliser un autre ensemble de commandes d'édition, le QuickC 2.51 est livré avec quatre fichiers «.KEY», étant des fichiers définissant les frappes de touche pour les commandes de l'éditeur, ainsi qu'un utilitaire pour créer votre propre fichier «.KEY». Les quatre fichiers clefs sont QC.KEY, ME.KEY, BRIEF.KEY et EPSILON.KEY. Pour passer à un nouveau fichier .KEY, utilisez l'option /k: lorsque vous exécutez QuickC 2.51. Par exemple, pour charger le fichier BRIEF.KEY, entrez cette ligne, en utilisant uniquement le nom du fichier et non le chemin complet :
QC /k:BRIEF.KEY |
Votre préférence est automatiquement enregistrée dans le fichier QC.INI. Dans les prochaines sessions d'édition, vous n'aurez pas besoin de spécifier le fichier .KEY.
Création de votre propre fichier .KEY
Le programme MKKEY vous permet de créer votre propre fichier de «.KEY». Vous devez utiliser trois options : -c, -i et -o. Le premier (-c) spécifie le type de conversion : ASCII en binaire (ab) ou binaire en ASCII (ba). Les deux autres spécifient le fichier d'entrée (-i) et le fichier de sortie (-o). Pour modifier le fichier QC.KEY par défaut, vous devez d'abord le convertir en un fichier ASCII modifiable :
MKKEY -c ba -i QC.KEY -o MONEDIT.TXT |
Vous pouvez utiliser n'importe quel éditeur de texte (y compris QuickC 2.51) pour modifier le fichier nommé MONEDIT.TXT, répertoriant les frappes au clavier effectuant certaines actions. Par exemple, vous appuyez sur CTRL+G pour supprimer un caractère. La ligne dans MONEDIT.TXT ressemble à ceci :
Del : CTRL+G
Vous pouvez remplacer cette commande par n'importe quelle autre frappe (CTRL+D, par exemple), tant que la touche n'est pas déjà affectée à une autre fonction. Ailleurs dans le fichier, CTRL+D est affecté à CharRight, vous devrez donc supprimer ou modifier cette ligne si vous souhaitez utiliser CTRL+D pour la fonction Del. Lorsque vous êtes satisfait des nouvelles fonctions, vous devez convertir le fichier ASCII en binaire, afin qu'il puisse être chargé dans l'éditeur QuickC 2.51 :
MKKEY -c ab -i MONEDIT.TXT -o MONEDIT.KEY |
Enfin, pour charger le nouveau fichier .KEY, utilisez l'option /k: décrite ci-dessus. Si vous personnalisez le fichier de l'éditeur QuickC 2.51 en créant un fichier .KEY, vous n'êtes pas autorisé à attribuer des fonctions à CTRL+@.
Utiliser un autre éditeur
Si vous préférez utiliser votre traitement de texte ou votre éditeur de texte préféré pour écrire des programmes, utilisez la commande Customimize Menu du menu Utilitaire. Cela vous permet d'exécuter n'importe quel autre programme (y compris les traitements de texte) à partir de l'environnement QuickC 2.51. Lorsque vous quittez le programme, vous revenez à QuickC 2.51. Pour utiliser un autre éditeur, choisissez la commande Customize Menu dans le menu Utility. Mettez en surbrillance l'élément Custom & Editor et sélectionnez le bouton Edit. Indiquez le chemin et le nom de l'éditeur dans la zone de texte Path Name. (Il n'est pas nécessaire d'inclure l'extension .EXE.) Par exemple, vous pouvez lister \BIN\B, \EDITORS\EPS ou MYDIR\M. Si vous utilisez Brief, Epsilon ou Microsoft Editor, lisez la section appropriée ci-dessous.
Brief
Tapez ce qui suit dans la zone de texte Arguments :
-m"editat $LINE $COL" $FILE |
Ajoutez la macro suivante à votre fichier de macro Brief :
;*** editat - interface avec l'utilitaire QC. Menu Edit
; SYNOPSIS
; -m"editat $LINE $COL" $FILE
; DESCRIPTION
; position d'édition Brief à la ligne et à la colonne spécifiées dans le fichier actuel. Il est appelé à partir de la ligne de commande (c'est-à-dire -m).
;*
(macro editat
(
(int line col)
(get_parm 0 line)
(get_parm 1 col)
(move_abs line col)
)
)
Epsilon
Tapez ce qui suit dans la zone de texte Arguments :
$FILE +$LINE |
M Editor
Tapez ce qui suit dans la zone de texte Arguments :
/e "Arg \"$LINE\" Mark" $FILE |
Compilation et liaison
Votre but ultime en écrivant des programmes C est de créer un programme exécutable. Pour convertir un fichier source C en un programme exécutable, vous devez le compiler et le lier. Cette section présente les commandes compilant et liant les programmes, un processus appelé "build" (ou construction).
Lorsque QuickC construit un programme, il effectue deux étapes :
- Il compile le fichier source .C dans un fichier objet (.OBJ).
- Il relie le fichier objet avec d'autres fichiers objets ou bibliothèques pour créer un fichier exécutable (.EXE).
Bien que vous ayez la possibilité de passer par ces deux étapes, il est généralement plus facile et plus pratique de construire un programme avec une seule commande.
Construire (Build) dans l'environnement QuickC 2.51
Cette section illustre comment compiler et lier un programme C. Tapez d'abord ce programme et utilisez la commande Save As du menu File pour enregistrer le fichier sous BONJOUR.C :
La sortie de ce programme simple vous demande de taper votre nom. Vous entrez n'importe quelle chaîne de caractères et elle vous dit Bonjour. Le programme appelle deux fonctions de bibliothèque : printf et gets. Positionnez le curseur sur le nom de la fonction et appuyez sur F1. Pour fermer la fenêtre Help, appuyez sur ESC.
Compiler et liaison
Pour créer un programme, ouvrez le menu Make et choisissez Buid Program. Ou utiliser l'un de ces raccourcis :
- Appuyez sur Shift+F5 pour construire le programme.
- Cliquez sur le bouton Shift+F5=Restart sur la barre de référence en bas de l'écran.
Une boîte de dialogue apparaît à l'écran pour vous indiquer jusqu'où le compilateur et la liaison ont progressé. Le compilateur ou la liaison peut s'arrêter si quelque chose ne va pas. Lorsque le fichier source contient des erreurs, la fenêtre Errors apparaît et la ligne incriminée est mise en surbrillance dans la fenêtre source.
Notez que la liaison incrémentielle utilise une mémoire expansée, telle que définie par la spécification 3.2 de Lotus-Intel-Microsoft (LIM), si elle est disponible. Si vous avez installé la mémoire sur un système 80286 ou 80386, vous pouvez rencontrer des problèmes lors de la liaison incrémentielle, en particulier si vous avez configuré la carte pour utiliser une mémoire étendue et expansée. En particulier, votre ordinateur peut enfermer si vous utilisez une liaison incrémentielle conjointement avec une carte mémoire expansée de Talltrees AT3. (D'autres conseils peuvent ou non ou peuvent ne pas être soumis à ce problème.) Si cela se produit, vous avez plusieurs choix :
- Contactez le fabricant de la carte mémoire pour obtenir des informations sur la résolution de ce problème.
- Supprimez le pilote de périphérique d'extension de la mémoire (EMM) et continuez à relier progressivement.
- Désactiver la mémoire étendue (utilisée par VDISK) et continuer à relier progressivement.
- Laissez le pilote de périphérique de mémoire en place, mais désactivez la liaison incrémentielle. Dans le cadre de l'environnement QuickC 2.51, choisissez la commande Make dans le menu Options et sélectionnez le bouton Linker Flags. Dans la ligne de commande, évitez l'option /Li.
- Contactez le support de produit Microsoft pour des suggestions supplémentaires (ce point est conditionnel au fait que les produits considérer comme Retro, ont une offre un support très limité et en plus si vous expliquez que vous l'utiliser dans un contexte de DOSBox ils n'offriront probablement aucune solution pour vous).
Exécuter le programme
Lorsque le programme a été construit, la barre de référence affiche plusieurs nouveaux articles, y compris F5=Run, Pour exécuter le programme, ouvrez le menu Run et choisissez Go. Ou utilisez les raccourcis :
- Appuyez sur F5
- Cliquez sur F5=Run sur la barre de référence.
Compiler, relier et exécuter
Il n'est pas nécessaire d'appuyer sur Shift+F5 (pour construire le programme) avant d'appuyer sur F5 (pour l'exécuter). Si vous appuyez simplement sur F5, l'éditeur QuickC 2.51 sait si le code source en mémoire a changé. Si cela a changé, vous vous demanderez si vous souhaitez reconstruire le programme.
Affichage de la fenêtre de sortie
- Appuyez sur F4 pour basculer entre les deux écrans.
- Ouvrez la fenêtre View et choisissez l'écran de sortie. Cliquez une fois pour revenir à la fenêtre source.
Si vous préférez avoir à la fois la sortie et la source Windows visible simultanément, choisissez la commande Windows dans le menu View, puis choisissez Output.
Sauvegarder le programme
Pour enregistrer le fichier source à l'aide du nom actuel, accédez au menu File et choisissez Save ou Save As. Si vous utilisez Save, le QuickC 2.51 enregistre automatiquement le fichier sous le nom indiqué sur la ligne supérieure de la fenêtre source. Si vous préférez utiliser un autre nom, choisissez Save As. La boîte de dialogue suivante apparaît :
Tapez le nouveau nom du fichier source. Si vous n'ajoutez pas d'extension, le logiciel QuickC 2.51 ajoute automatiquement .C (BONJOUR devient BONJOUR.C, par exemple).
Construire à partir de plusieurs fichiers source
Nous allons maintenant rendre les choses un peu plus compliquées en écrivant un programme à plusieurs modules. Tout d'abord, éditez le programme BONJOUR.C en ajoutant quelques lignes :
La fonction main appelle deux nouvelles fonctions : welcome et outsider. Contrairement à printf et gets, étant des fonctions de bibliothèque, welcome et outsider sont des fonctions définies dans le programme. Notez la définition de welcome sous la fonction main. Ne compilez pas encore le programme. Enregistrez-le sous BONJOURA.C puis choisissez New dans le menu File. Tapez le deuxième programme :
- /* BONJOURB.C : Deuxième programme pour BONJOURA.C */
-
- outsider() {
- printf("Cette ligne provient du fichier BONJOURB.C.\n");
- }
Enregistrez-le sous BONJOURB.C. Il y a maintenant deux fichiers sources sur votre disque : BONJOURA.C et BONJOURB.C. Il existe plusieurs raisons de diviser un fichier en plusieurs modules. Si vous écrivez une fonction étant utilisée dans plusieurs programmes, vous pouvez lui donner son propre fichier source. Si vous écrivez de longs programmes, diviser le fichier facilite l'édition. De plus, la commande Build Program prend moins de temps car elle recompile uniquement les fichiers source que vous avez modifiés, au lieu du programme entier.
Création d'une liste de programmes
Étant donné que le programme d'exemple utilise maintenant deux fichiers source, nous devons créer une liste de programmes (également appelée "fichier make") indiquant à QuickC 2.51 quels fichiers source doivent être compilés.
Ouvrez le menu Make et choisissez Set Program List (vous devez avoir activé Full Menus). Tapez le nom BONJOURA.MAK comme nom du fichier contenant la liste des programmes (l'extension MAK est utilisée pour créer des fichiers), et lorsque QuickC 2.51 vous demande s'il doit créer le fichier, appuyez sur Enter. La boîte de dialogue suivante apparaît :
Vous devez maintenant ajouter à la fois BONJOURA.C et BONJOURB.C à la liste des programmes.
- Appuyez sur la touched TAB jusqu'à ce que le curseur soit dans la liste déroulante contenant le répertoire des fichiers source C (une autre liste liste les noms de répertoires). Utilisez les touches fléchées pour accéder au fichier BONJOURA.C. Appuyez sur la touche Enter et le nom du fichier apparaîtra dans la liste des programmes ci-dessous. Répétez cette action pour ajouter BONJOURB.C à la liste des programmes. (Une deuxième option consiste à saisir les noms de fichiers dans la zone de texte en haut de l'écran.) Lorsque vous avez terminé, appuyez sur TAB jusqu'à ce que le bouton de commande Save List soit en surbrillance, puis appuyez sur Enter.
- Cliquez une fois sur BONJOURA.C et cliquez sur le bouton Add/Delete (ou double-cliquez simplement sur BONJOURA.C). Faites de même pour BONJOURB.C. Lorsque les deux programmes apparaissent dans la liste des programmes, cliquez sur le bouton de commande Save List pour enregistrer le fichier make.
La liste des programmes indique à QuickC 2.51 que plusieurs fichiers source doivent être combinés en un seul programme. Dans une liste de programmes, vous pouvez inclure des fichiers source (se terminant par l'extension .C), des fichiers objet (.OBJ) ou des bibliothèques (.LIB). Par exemple, si vous n'avez pas inclus de graphiques dans la bibliothèque combinée lorsque vous avez exécuté le programme SETUP, vous pouvez placer GRAPHICS.LIB dans la liste des programmes pour accéder aux fonctions graphiques.
Notez que le nom de base de la liste des programmes (BONJOURA.MAK) correspond au nom de l'un des fichiers source (BONJOURA.C). Parce que les noms correspondent, lorsque vous chargerez BONJOURA.C à l'avenir. Le QuickC 2.51 vous demandera si vous souhaitez utiliser la liste de programmes BONJOURA.MAK. Vous n'êtes pas obligé de donner le même nom au fichier source et au fichier make, mais c'est une bonne idée de le faire. L'ordre dans lequel vous répertoriez les fichiers est sans importance. Peu importe quel fichier est le premier ou le deuxième. Lorsque vous choisissez la commande Rebuild All dans le menu Make, chaque fichier .C de la liste des programmes est compilé dans un fichier .OBJ. Ensuite, tous les fichiers .OBJ sont liés aux fichiers .LIB pour créer un fichier .EXE.
Toutefois, si vous appuyez sur SHIFT+F5 ou choisissez la commande Buid Program, le QuickC 2.51 vérifie les horodatages sur les fichiers source dans les objets. Si le code source n'a pas changé depuis la dernière exécution d'une commande Build Program il n'est pas nécessaire de recompiler les fichiers .OBJ inchangés. Tous les fichiers ayant été modifiés sont recompilés ; les autres ne le sont pas. Cela signifie que la commande Build est souvent plus rapide que la commande Rebuild All lorsque vous avez plusieurs fichiers source.
À propos des répertoires
Vous pouvez changer de répertoire chaque fois que vous ouvrez ou enregistrez un fichier :
- Appuyez sur la touche TAB jusqu'à ce que le curseur se trouve dans la zone de liste Drives/Dirs : contenant les noms des répertoires. Utilisez les touches fléchées pour accéder au répertoire souhaité et appuyez sur Enter.
- Double-cliquez sur le nom du répertoire souhaité.
Pour passer au répertoire parent, sélectionnez les deux points (..) en haut de la liste.
Le QuickC 2.51 place tous les fichiers objet (.OBJ) et les fichiers exécutables (.EXE) dans le répertoire par défaut. Par exemple, supposons que vous exécutiez QuickC 2.51 à partir du répertoire C:\ZEBRE et que vous ouvriez le fichier TAPIR.C à partir du répertoire C:\AFRIQUE. Comme ZEBRE est le répertoire par défaut, les fichiers TAPIR.OBJ et TAPIR.EXE sont créés dans le répertoire ZEBRE lorsque vous compilez le programme. Si vous préférez conserver tous les fichiers associés dans le répertoire AFRIQUE, choisissez la commande Run de DOS dans le menu Utilitaire et tapez :
CHDIR \AFRIQUE |
La commande de répertoire CHDIR redirige les objets et les fichiers exécutables vers l'autre répertoire.
Compilation et liaison depuis la ligne de commande
Si vous débutez avec le langage de programmation C, vous pouvez ignorer cette section. Vous n'avez pas besoin de savoir comment compiler et lier depuis la ligne de commande ; vous pouvez tout faire dans l'environnement QuickC 2.51.
Cependant, si vous le souhaitez, vous pouvez quitter l'environnement QuickC 2.51 pour créer des programmes à partir du prompt DOS. Cela vous donne un peu plus de contrôle sur les différentes options. De plus, si vous construisez une série de programmes exécutables associés, vous pouvez soit placer les commandes de compilation et de liaison dans un fichier de traitement par lot, soit créer votre propre fichier make. L'une ou l'autre méthode est plus rapide que la création de programmes individuellement.
Le programme se construisant à partir de la ligne de commande s'appelle QCL.EXE (le C et L dans le nom du fichier signifient "Compile" et "Link"). Pour construire le programme BONJOUR.EXE, tapez ceci :
QCL BONJOUR.C |
Vous pouvez inclure une variété d'options de ligne de commande entre QCL et le nom du fichier. Par exemple :
QCL /AM BONJOUR.C |
force l'éditeur de liens à utiliser le modèle de mémoire moyenne (la valeur par défaut est le petit modèle). Si vous essayez cet exemple, vous devez avoir installé une bibliothèque de modèles de mémoire moyenne. Vous trouverez une liste complète des options du compilateur et de l'éditeur de liens dans le manuel Microsoft QuickC Tool Kit (ou tapez QCL /help).
Le QCL peut également créer des programmes à plusieurs modules. Puisque BONJOURA.C et BONJOURB.C sont deux parties d'un programme à plusieurs modules, la ligne suivante ne construit pas un programme :
QCL BONJOURA.C |
Le compilateur fonctionne correctement, créant un fichier .OBJ, mais lorsque l'éditeur de liens recherche la fonction outsider (se trouvant dans BONJOURB.C), il échoue et renvoie l'erreur unresolved external.
La solution consiste à spécifier les deux fichiers source :
QCL BONJOURA.C BONJOURB.C |
L'exemple ci-dessus crée un programme appelé BONJOURA.EXE car BONJOURB.EXE est répertorié en premier. Une autre solution consiste à compiler les deux fichiers puis à les lier vous-même :
QCL /c BONJOURA.C QCL /c BONJOURB.C QLINK BONJOURA.OBJ BONJOURB.OBJ |
L'option /c indique au programme QCL de compiler mais pas de lier. Il doit être saisi en minuscule. Puisque vous avez créé un fichier Make appelé BONJOURA.MAK, contenant la liste des programmes, vous pouvez également utiliser le programme NMAKE pour générer BONJOURA.EXE. Passez-lui simplement le nom du fichier make :
NMAKE /F BONJOURA.MAK |
L'option -qc vous permet d'exécuter le compilateur QuickC à partir de Microsoft C Professional Development System version 6.0. Pour utiliser le compilateur QuickC de Microsoft C, utilisez la ligne de commande :
CL = B1 qccom -qc |
Le QuickC est livré avec l'éditeur de liens QLINK, un sous-ensemble de LINK.
Le débogueur
Lorsque vous faites des erreurs évidentes comme une faute d'orthographe dans le nom d'une fonction ou l'oubli de terminer une ligne par un point-virgule, votre code provoque une erreur de compilation. Le compilateur (ou l'éditeur de liens) refuse de continuer tant que vous n'avez pas corrigé l'erreur. D'autres erreurs provoquent des erreurs d'exécution. Tenter de diviser par zéro en est un exemple. Encore d'autres erreurs sont appelées erreurs logiques. Lorsqu'un programme inclut une erreur logique, il peut s'exécuter, mais il finit par agir de manière imprévisible ou donner des résultats incorrects.
Le débogueur intégré de QuickC vous aide à rechercher et à corriger les erreurs logiques. Dans le menu Run, vous trouverez Trace Into et Step Over, exécutant le programme en mémoire ligne par ligne. Le Trace Into suit les fonctions lorsqu'elles sont appelées ; Step Over vous permet d'exécuter une fonction sans afficher son fonctionnement interne. Vous pouvez utiliser le menu Debug pour définir des points de surveillance et des points d'arrêt et exécuter un programme jusqu'au point d'arrêt.
La commande Watch Value du menu Debug est également utile. Vous saisissez un ou plusieurs noms de variable, puis surveillez leurs valeurs au fur et à mesure que vous avancez dans le programme. Il n'est pas nécessaire de placer des instructions printf à différents points d'un programme uniquement pour surveiller la valeur d'une variable. La commande Quickwatch vous donne un accès encore plus rapide aux variables ou expressions que vous souhaitez surveiller.
Si vous activez l'historique de débogage, le débogueur enregistre tout ce qui se passe pendant la session. Plus tard, vous pouvez revoir les événements et surveiller l'erreur de logique. Le didacticiel en ligne comprend une leçon expliquant comment utiliser le débogueur, avec une section spéciale consacrée à l'utilisation de l'historique de débogage. Si vous souhaitez explorer ce sujet, exécutez le programme LEARN à partir de la ligne de commande ou choisissez la commande Learn de QuickC 2.51 dans le menu Utility. Vous pouvez également consulter l'aide en ligne pour obtenir des informations détaillées sur le débogueur.
Le débogueur CodeView ne peut pas gérer les fichiers ayant été compilés ou liés de manière incrémentielle. Si vous envisagez d'examiner les programmes QuickC 2.51 avec CodeView, assurez-vous que les options de compilation et de liaison incrémentielles sont désactivées. À partir de la ligne de commande, utilisez QCL sans les options /Gi ou /Li. Dans l'environnement QuickC 2.51, utilisez la commande Make du menu Options pour désactiver la compilation et la liaison incrémentielles et pour activer les informations CodeView. Cette restriction s'applique uniquement à CodeView. Le débogueur intégré de QuickC 2.51 peut gérer les programmes liés compilés de manière incrémentielle.