Les standards de codage pour le C/C++ ou d'autres langages sont utilisés dans le but de rendre les programmes plus lisibles/compréhensibles par les programmeurs. Pour cela, il existe des embellisseurs C/C++ (outils de formatage). Le code formaté (embelli) augmente la productivité des programmeurs de 100%!!
Sur GNU/Linux/Unix, il existe des commandes appelées "indent" et "cb". Référez-vous aux pages de manuel par 'man indent' et 'man cb'. Notez que indent et cb fonctionnent uniquement pour les programmes "C". Pour les programmes "C++", utilisez "bcpp". Téléchargez ce programme de mise en forme à partir des sites suivants :
BCPP a été écrit par Steven De Toni
Pour être sur à 100%, vous devez utiliser une approche SCIENTIFIQUE pour valider et avoir confiance en un programme de mise en forme. La méthode décrite dans cette section permettra au programme de mise en forme d'être agréé comme étant "vraiment fiable" et sérieux. Dans le but de vérifier qu'un programme de mise en forme comme bcpp, indent ou cb ne provoque pas de dommage ou ne change pas le code source d'entrée après formatage, vous pouvez utiliser le script shell Programme de vérification ou utiliser la technique suivante :
Générez le code objet à partir du code source original en utilisant le compilateur :
g++ -c monprogramme.cpp
Sauvez ce fichier :
mv monprogramme.o monprogramme_orig.o
Maintenant, lancez bcpp :
bcpp monprogramme.cpp
g++ -c monprogramme.cpp
diff monprogramme.o monprogramme_orig.o
g++ -S monprogramme.cpp
diff monprogramme.s monprogramme_orig.s
Il est fortement recommandé de faire ces deux étapes chaque fois que vous lancerez un programme de mise en forme comme bcpp, indent ou cb.
Visitez les sites suivants pour obtenir des embellisseurs pour d'autres langages comme HTML, SQL, Java, Perl, Fortran.
Pour présenter du code sous format HTML :
Ceci est un script pour le shell Korn pour vérifier les programmes de mise en forme. Il a besoin de "pdksh*.rpm" à partir du cdrom 'contrib' de Linux. Sauvez ce fichier en tant que fichier 'texte' et appliquez sur ce fichier la commande chmod a+rx. Vous pouvez réécrire ce script shell en Perl pour pouvoir l'utiliser sous Windows 95/NT ou MSDOS. Enlevez les commentaires de la variable PRGM pour le faire pointer sur bcpp, cb ou indent.
#!/bin/ksh # Programme de vérification pour contrôler des embellisseurs C++ comme 'bcpp', 'indent' ou 'cb' ############################################################ # Copyright # Les droits d'auteurs sont sous les termes de la GNU/GPL. # Auteur: Al Dev (Alavoor Vasudevan) [email protected] # Traducteur : Robert Jacolin [email protected] ############################################################ check_beautify_now() { # Efface tous les fichiers temporaires ... \rm -f ${TMP_FILE} \rm -f ${TMP_CPPFILE}*.* FNAME=$1 if [ ! -f ${FNAME} ]; then print "\nErreur : Le fichier ${FNAME} n'existe pas!!. Arrêt immédiat ...." exit fi \cp -f ${FNAME} ${TMP_CPPFILE}.cpp ${COMPILER} -c ${TMP_CPPFILE}.cpp if [ ! -f ${TMP_CPPFILE}.o ]; then print "Erreur Fatale : Impossible de compiler ${FNAME}. Arrêt immédiat ... " exit fi \mv -f ${TMP_CPPFILE}.o ${TMP_CPPFILE}_orig.o aa=`basename $PRGM` print "\nEn cours, vérification de $aa sur ${FNAME}" ${PRGM} ${TMP_CPPFILE}.cpp ${COMPILER} -c ${TMP_CPPFILE}.cpp \rm -f $TMP_FILE diff ${TMP_CPPFILE}.o ${TMP_CPPFILE}_orig.o 1> $TMP_FILE 2>> $TMP_FILE result="" result=`wc -c $TMP_FILE | awk '{print $1}' ` if [ "$result" = "0" ]; then print "Succés!! La mise en forme de $aa fonctionne proprement!!\n" else print "Erreur Fatale : Quelque chose ne va pas!! La mise en forme ne fonctionne pas!!" exit fi # ${COMPILER} -S ${TMP_CPPFILE}.cpp # diff ${TMP_CPPFILE}.s ${TMP_CPPFILE}_orig.s # Efface tous les fichiers temporaires .... \rm -f ${TMP_FILE} \rm -f ${TMP_CPPFILE}*.* } ########## La partie principale du programme commence ici ################## #PRGM=/usr/bin/bcpp #PRGM=/usr/bin/cb PRGM=/usr/bin/indent COMPILER=/usr/bin/g++ TMP_FILE=beautify.tmp TMP_CPPFILE=beautify-tmp_cppfile print -n "Entrez le nom du fichier C++ <valeur par défaut *.cpp> : " read ans if [ "$ans" = "" -o "$ans" = " " ]; then ans="ALL" else FILENAME=$ans fi # Efface tous les fichiers temporaires .... \rm -f ${TMP_FILE} \rm -f ${TMP_CPPFILE}*.* if [ "$ans" != "ALL" ]; then check_beautify_now ${FILENAME} else ls *.cpp | while read FILENAME do check_beautify_now ${FILENAME} done fi
Visitez les sites suivants en rapport avec le C, C++ :
Ce document est publié dans 11 formats différents qui ont pour noms : DVI, Postscript, Latex, Adobe Acrobat PDF, LyX, GNU-info, HTML, RTF (Rich Text Format : Format de texte enrichi), texte simple, pages de manuel Unix et SGML.
bash$ man sgml2latex bash$ sgml2latex filename.sgml bash$ man dvips bash$ dvips -o filename.ps filename.dvi bash$ distill filename.ps bash$ man ghostscript bash$ man ps2pdf bash$ ps2pdf input.ps output.pdf bash$ acroread output.pdf &
Ce document (version anglaise) est situé à :
Vous pouvez aussi trouver ce document sur les sites miroirs suivant :
Pour visualiser un document au format DVI, utilisez le programme xdvi. Le programme xdvi est situé dans le paquetage tetex-xdvi*.rpm dans la Linux Redhat. Il peut être trouvé par l'intermédiaire des boutons de menu Panneau de Contrôle (ControlPannel) | Applications (Applications) | Publications (Publishing) | TeX (TeX).
Pour lire un document dvi, utilisez la commande :
xdvi -geometry 80x90 howto.dvi
man xdvi
et changez la taille de la fenêtre avec la souris. Pour naviguer dans le
document, utiliser les touches fléchées, les touches de saut de page haut, saut de page bas, vous
pouvez aussi utiliser les lettres 'f', 'd', 'u', 'c', 'l', 'r', 'p', 'n' pour
vous déplacer vers le haut, le bas, au centre, à la page suivante, à la page précédente, etc.
Pour désactiver le mode expert, pressez 'x'.
Vous pouvez lire un fichier Postscript grâce au programme 'gv' (ghostview) ou 'ghostscript'. Le programme ghostscript est dans le paquetage ghostscript*.rpm et le programme gv est dans le paquetage gv*.rpm dans la distribution linux Redhat qui peut se trouver en utilisant les boutons du menu Panneau de Contrôle (Control panel) | Applications (Applications) | graphiques (Graphics). Le programme gv est beaucoup plus facile à utiliser que ghostscript. Ghostscript et gv existent aussi sous d'autres plate-formes comme OS/2, Windows 95 et NT.
gv howto.ps
ghostscript howto.ps
Vous pouvez lire un document au format HTML en utilisant Netscape Navigator, Microsoft
Internet Explorer, le navigateur Baron de Redhat ou le navigateur de votre choix
parmi les dizaines de navigateurs web existants.
Vous pouvez lire les documents latex ou Lyx générés en utilisant Lyx qui est une interface graphique sous "X-Window" pour latex.
La licence du copyright est la licence GNU/GPL comme pour le LDP (Linux Documentation Project, le projet de documentation de Linux). Le LDP est un projet sous licence GNU/GPL. Les restrictions additionnelles sont : vous devez laisser le nom de l'auteur, l'adresse email et cette note sur le droit d'auteurs sur toutes les copies. Si vous faites un quelconque changement ou addition dans ce document, vous devez alors prévenir tous les auteurs de ce document.