summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--d/tools/doc/info.txt41
1 files changed, 26 insertions, 15 deletions
diff --git a/d/tools/doc/info.txt b/d/tools/doc/info.txt
index d562963..698093b 100644
--- a/d/tools/doc/info.txt
+++ b/d/tools/doc/info.txt
@@ -41,6 +41,7 @@ Pour vim et pour coder, quelques commandes :
* :cn aller à l'erreur suivante
* :copen ouvre la liste des erreurs
* :cclose la ferme
+ * :help unSujet Ca peut être utile :-)
Y'en a plein d'autre mais si vous utilisez vim, elles viendront vite.
@@ -58,7 +59,7 @@ avec un beaucoup d'options.
** Pour le C++
-Pour coder en C il faut juste remplacer gcc par g++.
+Pour coder en C++ il faut juste remplacer gcc par g++.
** Comment ça marche
@@ -68,7 +69,7 @@ résultat un fichier a.out, bon a part pour faire un Hello World, ça sert à
rien, pour des projets plus conséquent, le Makefile est tout indiqué.
Si la compilation foire, le compilateur fera en sorte d'afficher les erreurs
-avec le nom des fichiers et les lignes où se trouve à 3 lignes près l'erreur.
+avec le nom des fichiers et les lignes où se trouve, à 3 lignes près, l'erreur.
Il se peut aussi qu'il annonce des warnings, c'est pas bon !! Les warnings
portent bien leurs noms, et généralement, laisser des warnings dans un
programme est suicidaire, donc, à éviter.
@@ -79,20 +80,23 @@ Dans la ligne de commandes gcc, il y a quelques options et librairies
indispensables :
* -o <fichier> permet de nommer le fichier exécutable, sinon il
s'appelle a.out ;
- * -W et -Wall pour voir tout les warnings qui pourrait passer ;
- * -g permet d'ajouter les info de debuggage ;
- * -Olevel Permet d'optimiser le programme, plus level est grand plus
+ * -W et -Wall pour voir tout les warnings qui pourrait passer (pour
+ * info dans gcc-4.0, on a -Wextra qui est identique à -W);
+ * -g permet d'ajouter les info de debuggage ; -Olevel Permet
+ * d'optimiser le programme, plus level est grand plus
c'est optimiser (level 3 max);
* -Os permet d'optimiser le code pour obtenir un exécutable plus
petit ;
* -lm permet d'inclure la librairie mathématique ;
+ * -lchoucroute permet d'inclure la libchoucroute (le fonctionnement est
+ standard)
* make
La commande make est une commande très puissante qui fait ce qu'on lui
dit de faire. Elle est intelligente pour certaine action mais pour des
-choses un peu poussé, elle regarde dans un Makefile ce quel doit faire.
-C'est avec elle que sont compiler la plupart des programmes.
+choses un peu poussé, elle regarde dans un Makefile ce qu'elle doit faire.
+C'est avec elle que sont compilé la plupart des programmes.
** Comment ça marche
@@ -104,17 +108,17 @@ Sinon, l'écriture d'un makefile est obligatoire.
** Le makefile
Le makefile s'appelle Makefile (n'oublier pas la majuscule, c'est mieux). Dans
-le fichier ont trouve des variables et des règles. Les variables sont définies
+ce fichier, on trouve des variables et des règles. Les variables sont définies
et utilisées comme dans les scripts bash, mais certaines variables sont
standards et nous serviront plus tard. Pour faire simple, un makefile pour
-compiler un programme en C ressemble à ça.
+compiler un programme en C ressemble à ça:
barbecue: main.o merguez.o thermostat.o
gcc -o barbecue main.o merguez.o thermostat.o
barbecue est le nom de la cible, main.o merguez.o thermostat.o les
-"dépendances", la ligne du dessous qui commence obligatoirement par une
-tabulation est la ou les actions à exécuter.
+"dépendances", la ligne du dessous, qui commence obligatoirement par une
+tabulation, indique la ou les actions à exécuter.
make étant très intelligent, il va essayer de voir si il peut résoudre
les dépendances, ici, il va compiler les sources pour produire les .o requis.
Cela dit pour un projet plus important, le Makefile peut contenir
@@ -134,8 +138,8 @@ nom de la cible et $^ en est une autre indiquant les dépendances.
Avec ça, make peut compiler un projet entier, comme il est très
intelligent, il regardera ce qu'il a besoin de faire, c'est-à-dire qu'il
-ne recompilera ce qui est nécessaire, faite le test, compiler quelque
-chose avec make et refaite le.
+ne recompilera que ce qui est nécessaire, faite le test, compiler quelque chose
+avec make et refaite le.
nicolas@hermes:~/testmake$ ls
casertarien.c
@@ -192,7 +196,7 @@ Pour debuguer le jolie code qui marche pas comme prévu, il y a le
débuggueur GDB (pour GNU Debbuger, ouais ils ont vachement
d'imagination). Pour l'utiliser, il est utile de sortir le -g lors de
la compilation du programme foireux.
-GDB permet plusieurs chose comme examiner les cadavre (les fichiers core
+GDB permet plusieurs chose comme examiner les cadavres (les fichiers core
par exemple) ou de s'attacher à un processus. Mais je vais juste
expliquer le debuggage d'un programme lancée par gdb.
Pour lancer gdb, il faut taper gdb <nom du prog foireux>, et ensuite, le
@@ -209,7 +213,7 @@ fonction ou d'un numéro de ligne.
* n ou next permet de passer à l'instruction suivante au même niveau
dans la pile(reste dans l'instruction)
* s ou step permet de passer à l'instruction suivante à un niveau plus
-profond de la pile le cas échéant(typiquement les instructions d'une fonction appelé)
+profond de la pile le cas échéant(typiquement les instructions d'une fonction appelée)
* c ou continue exécute le programme jusqu'au prochain point d'arrêt
* l \[numéro de ligne] ou list \[NDL] permet de lister dix lignes du code source.
* p ou print \[variable] permet d'obtenir la valeur d'une variable. la
@@ -349,6 +353,13 @@ main (void)
Typiquement, vous avez perdu le pointeur qui avait l'adresse du bloc
alloué. Cela donne lieu à une fuite de mémoire.
+** splint
+
+Splint est un inspeteur de code qui vous claque dès que quelque chose lui semble bizarre. Bon, il est un peu sadique, vous allez vous prendre plein de claque. Cela dit, en suivant un peu ce qu'il dit, ca permet de corriger quelques erreur, d'améliorer un peu le code et de le rendre plus robuste.
+Pour l'utiliser, tendez la joue et taper
+
+ nicolas@hermes:~$splint ouillecafaitmal.c
+
* Autres documents
Ce petit descriptif sur les outils ne sert pas à grand chose seul par