Guide de l’utilisateur
Borland
C++ pour Windows ®
Version 4.0
Les fichiers suivants peuvent être redistribués librement, comme spécifié dans la licence d’utilisation du présent logiciel :
■
BC40RTL.DLL
■BWCC32.DLL
■MSMOUSE.DRV
■
BIDS40.DLL
■COMPRESS.EXE
■OWL200.DLL
■
BIDS40D.DLL
■CTL3D.DLL
■OWL200D.DLL
■
BIDS40DF.DLL
■CTL3D32.DLL
■OWL200DF.DLL
■
BIDS40F.DLL
■CW32.DLL
■OWL200F.DLL
■
BIVBX10.DLL
■CW32MT.DLL
■PENWIN.DLL
■
BW320007.DLL
■CX32.DLL
■PENWIN.INI
■
BW320009.DLL
■CX32MT.DLL
■REGLOAD.EXE
■
BW32000C.DLL
■DIB.DRV
■STRESS.DLL
■
BWCC.DLL
■LOADBWCC.EXE
■TOOLHELP.DLL
■
BWCC0007.DLL
■LOCALE..DLL
■VGAP.DRV
■
BWCC0009.DLL
■MARS.DLL
■YESMOUSE.DRV
■
BWCC000C.DLL
■MARS.MOB
Les applications mentionnées dans ce manuel sont brevetées ou en attente de brevet. Ce document ne donne aucun droit sur ces brevets.
Copyright© 1988-1993 Borland international. Tous droits réservés. Tous les produits Borland sont des marques déposées de Borland
International, Inc. Tous les autres noms de produits sont des marques déposées de leurs fabricants respectifs.
10 9 8 7 6 5 4 3 2 1
Partie 1 : Utilisation de Borland C++
pour Windows
Chapitre 1 Pour commencer
Installation de Borland C++. . . 5
Configuration matérielle et logicielle requise . . . 5
Procédure d’installation . . . 6
Lancement de Borland C++ . . . 8
Comment activer l’aide. . . 10
Configuration de l’EDI . . . 10
Modification des barres d’icônes. . . 11
Choix de préférences de l’EDI . . . 12
Enregistrement des paramètres de l’EDI . . . 12
Utilisation de l’Editeur . . . 13
Configuration de l’éditeur de l’EDI . . . 13
Mise en surbrillance de la syntaxe . . . 14
La fenêtre de messages . . . 15
Parcourir votre code . . . 16
Visualisation des objets (vue générale sur les classes) . . . 17
Filtres . . . 17
Affichage des déclarations des symboles listés . . . 18
Déplacement dans les symboles globaux . . . 18
Utilisation des expressions régulières dans le Browser . . . 19
Visualisation des symboles dans votre code . . . 20
Utilisation des outils en ligne de commande . . . . 20
DPMI et les outils en ligne de commande . . . 21
Mémoire vive et MAKESWAP.EXE . . . 21
Gestionnaire de run-times et outils en ligne de commande . . . 22
Contrôle de la mémoire utilisée par le gestionnaire de run-times. . . 22
Lancement d’autres programmes depuis l’EDI . . 23
Chapitre 2 Utilisation du gestionnaire de projet
Qu’est-ce que la gestion de projets ? . . . 25Construction d’un projet . . . 27
Création d’un projet multi-cible . . . 29
Conversion des anciens projets . . . 29
Conversion de projets en fichiers MAKE. . . 29
Modification de la visualisation du projet . . . 30
Création d’un projet . . . 31
Construction d’une partie de projet. . . 31
Modification de l’arborescence du projet . . . 32
Modification des attributs de cible avec TargetExpert . . . 32
Modification des attributs de noeud . . . 33
Ajout et suppression de noeuds . . . 34
Ajout et suppression de cibles . . . 34
Déplacement des noeuds et des cibles. . . 35
Copie de noeuds . . . 35
Utilisation des Source Pools . . . 36
Définition des options d’un projet . . . 37
Dérogation locale . . . 37
Utilisation des feuilles de style . . . 38
Association d’une feuille de style à un noeud. . . 39
Création d’une feuille de style . . . 39
Modification d’une feuille de style. . . 40
Partage de feuille de styles . . . 40
Visualisation des options d’un projet . . . 41
Traducteurs . . . 42
Installation d’un traducteur . . . 42
Utilisation de Special dans le TurboMenu . . . 44
Installation de visualiseurs et d’outils . . . 44
Chapitre 3 Compilation
Compilation dans l’EDI . . . 46Utilisation des options de compilation dans l’EDI . . . 46
Utilisation des compilateurs en ligne de commande . . . 47
Fichiers de configuration . . . 48
Fichiers de recherche . . . 49
Règles de priorité des options. . . 49
Options de compilation . . . 50
Répertoires . . . 60
Algorithmes de recherche de fichiers . . . 61
Compiler | Defines. . . 62
Compiler | Code-generation . . . 63
Compiler|Floating Point . . . 64
Table des matières
i
Compiler | Compiler Output . . . 65
Compiler | Source. . . 65
Compiler | Debugging . . . 66
Compiler | Precompiled headers . . . 68
16-bit Compiler | Processor. . . 68
16-bit Compiler | Calling Convention. . . 69
16-bit Compiler | Memory Model . . . 70
16-bit Compiler | Segment Names Data . . . 72
16-bit Compiler | Segment Names Far Data . . . . 73
16-bit Compiler | Segment Names Code . . . 74
16-bit Compiler | Entry/Exit Code . . . 74
32-bit Compiler | Processor. . . 76
32-bit Compiler | Calling Convention. . . 76
C++ Options | Member Pointer . . . 77
C++ Options | C++ Compatibility . . . 78
C++ Options | Virtual Tables . . . 79
C++ Options | Templates . . . 80
C++ Options | Exception handling/RTTI . . . 80
Optimisations . . . 81
Optimizations | Specific. . . 81
Optimizations | Size . . . 83
Optimizations | Speed . . . 84
Messages . . . 87
Messages | Portability . . . 87
Messages | ANSI Violations . . . 87
Messages | Obsolete C++ . . . 88
Messages | Potential C++ Errors . . . 88
Messages | Inefficient C++ Coding . . . 89
Messages | Potential errors . . . 89
Messages | Inefficient Coding . . . 89
Messages | General. . . 90
Make . . . 90
Options en ligne de commande. . . 90
Chapitre 4 Création d’applications avec AppExpert
Notions de base sur AppExpert . . . 95Création d’une application avec AppExpert. . . 96
Applications AppExpert par défaut . . . 98
Options du menu Application. . . 98
Application | Basic Options . . . 99
Application | Advanced Options . . . 99
Application | Code Gen Control . . . 100
Application|Admin Options. . . 101
Options du menu Main Window . . . 101
Main Window | Basic Options . . . 101
Main Window | SDI Client . . . 102
Main Window|MDI Client . . . 104
Options du menu MDI Child/View . . . 104
MDI Child/View|Basic Options . . . 104
Chapitre 5 Utilisation de ClassExpert
Lancement de ClassExpert . . . 107ClassExpert : notions de base . . . 107
Volet Classes . . . 108
Volet Events . . . 108
Volet Edit . . . 108
Ajouter une classe . . . 109
Créer des types de documents . . . 110
Ajout et suppression de gestionnaires d’événements. . . 112
Ajout et suppression de variables d’instance . . . 113
Accès au code source des classes . . . 114
Utilisation de Resource Workshop avec ClassExpert . . . 114
Exécution de Resource Workshop à partir de l’EDI . . . 115
Utilisation de Rescan . . . 116
Supprimer une classe . . . 116
Déplacer une classe. . . 117
Renommer un élément d’AppExpert . . . 117
Importer une classe. . . 117
Reconstitution du fichier de base de données .APX . . . 118
Chapitre 6 Débogage dans l’EDI
Types de bugs . . . 119Erreurs à la compilation. . . 119
Erreurs à l’exécution . . . 120
Erreurs de logique. . . 120
Création d’informations de débogage. . . 121
Indication des arguments du programme . . . 121
Contrôle de l’exécution du programme . . . 121
Vérification de la sortie générée par le programme. . . 122
Mode pas à pas . . . 122
Tracé du code en mode approfondi. . . 124
Mode pas à pas et mode approfondi appliqués aux fonctions membres d’une classe . . . 124
Mode pas à pas et mode approfondi appliqués au code externe . . . 124
Contourner une partie du code . . . 124
Recherche d’une zone précise . . . 125
Recherche d’une fonction . . . 125
Retour au point d’exécution. . . 125
Remonter dans le code . . . 125
Arrêt du programme. . . 126
Recommencer depuis le début . . . 126
Visualisation des valeurs . . . 126
Qu’est-ce qu’une expression ? . . . 126
Visualisation des expressions . . . 127
Ajout d’un suivi . . . 127
Formatage des expressions de suivi . . . 127
Désactivation d’un suivi . . . 128
Suppression d’un suivi . . . 129
Modification d’un suivi . . . 129
Evaluation et modification des expressions . . 129
Evaluation des expressions . . . 129
Modification des variables . . . 130
Visualisation des éléments de données . . . 131
Examen des valeurs de registres . . . 132
Points d’arrêt . . . 133
Pose de points d’arrêt . . . 133
Utilisation des points d’arrêt . . . 133
Suppression de points d’arrêt . . . 134
Désactiver et activer les points d’arrêt . . . 134
Visualisation et modification du code sous un point d’arrêt . . . 135
Réinitialisation de points d’arrêt incorrects . . . 135
Visualisation et modification des propriétés d’un point d’arrêt . . . 135
Consignation des expressions . . . 136
Personnalisation des points d’arrêt et du point d’exécution . . . 137
Gestion des erreurs GPF . . . 137
Utilisation de la fenêtre Event Log . . . 138
Débogage des DLL . . . 138
Débogage en mode soft et en mode hard . . . 139
Chapitre 7 WinSight
Démarrage de WinSight . . . 141Activation et désactivation de la mise à jour. . 142
Désactivation du tracé des messages . . . 142
Choix d’une vue. . . 143
Liste des classes . . . 143
Utilisation du volet Liste de classes . . . 143
Tracé des classes. . . 144
Arborescence de fenêtres . . . 144
Recherche d’une fenêtre . . . 145
Sortie du mode de recherche de fenêtres . . . 146
Tracé des fenêtres . . . 146
Choix des messages à tracer . . . 146
Utilisation du volet Tracé de messages . . . 147
Autres options de tracé . . . 147
Chapitre 8 WinSpector
Utilisation de WinSpector . . . 153Configuration de WINSPCTR.LOG . . . 154
WINSPCTR.LOG Références . . . 155
Section Disassembly . . . 157
Section Stack Trace . . . 157
Section Registers . . . 158
Message Queue : . . . 159
Section Tasks . . . 159
Section Modules . . . 160
Section des tas USER et GDI . . . 160
System Info . . . 161
Traitement des données WinSpector. . . 161
Sortie de DFA . . . 162
Utilisation de DFA avec le fichier WINSPCTR.LOG . . . 162
Utilisation de DFA avec WINSPCTR.BIN . . . . 162
Autres outils de WinSpector . . . 164
Utilisation de EXEMAP.EXE . . . 164
Utilisation de TMAPSYM . . . 164
Utilisation de BUILDSYM . . . 165
Chapitre 9 Utilisation de l’éditeur de liens TLINK
Notions de base sur TLINK . . . 167TLINK.CFG . . . 169
Fichiers de recherche . . . 170
Utilisation de TLINK avec BCC.EXE . . . 171
Edition de liens pour les bibliothèques . . . 171
Options de TLINK . . . 173
Fichiers de définition de modules . . . 183
Instruction CODE . . . 183
Instruction DATA . . . 184
Instruction DESCRIPTION . . . 185
Instruction EXETYPE . . . 185
Instruction EXPORTS . . . 185
Instruction IMPORTS . . . 186
Instruction LIBRARY . . . 187
Instruction NAME . . . 188
Instruction SEGMENTS . . . 188
Instruction STACKSIZE . . . 189
iii