<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>C-C++ Beautifier HOW-TO: Come posso aver fiducia in programmi di abbellimento??!!</TITLE> <LINK HREF="C-C++Beautifier-HOWTO-3.html" REL=next> <LINK HREF="C-C++Beautifier-HOWTO-1.html" REL=previous> <LINK HREF="C-C++Beautifier-HOWTO.html#toc2" REL=contents> </HEAD> <BODY> <A HREF="C-C++Beautifier-HOWTO-3.html">Avanti</A> <A HREF="C-C++Beautifier-HOWTO-1.html">Indietro</A> <A HREF="C-C++Beautifier-HOWTO.html#toc2">Indice</A> <HR> <H2><A NAME="s2">2. Come posso aver fiducia in programmi di abbellimento??!!</A></H2> <P>Vi assicuro al 100% che avete bisogno di un modo <B>SCIENTIFICO</B> per fidarvi di un abbellitore di programmi. Il metodo descritto in questa sezione metterà il programma abbellitore in grado di venir accettato come "sicuro" e degno di fiducia. <P>Per verificare che programmi abbellitori come <B>bcpp</B>, <B>indent</B> o <B>cb</B> non stiano danneggiando o modificando il codice sorgente in ingresso dopo che l'hanno formattato, lo potete verificare usando uno script <A HREF="C-C++Beautifier-HOWTO-4.html#verification">programma verifica</A> oppure usate la seguente tecnica - <P>Generate il codice oggetto dal sorgente originale usando il compilatore - <HR> <PRE> g++ -c myprogram.cpp </PRE> <HR> Qui g++ è il compilatore GNU C++. Questo genererà in uscita il codice oggetto myprogram.o <P>Salvate questo file - <HR> <PRE> mv myprogram.o myprogram_orig.o </PRE> <HR> <P>Ora lanciate bcpp - <HR> <PRE> bcpp myprogram.cpp </PRE> <HR> <P>Questo genererà in uscita il programma formattato myprogram.cpp e rinominate il file originale in myprogram.cpp.orig. Compilate il nuovo file con - <HR> <PRE> g++ -c myprogram.cpp </PRE> <HR> <P>Ora usate il comando unix 'diff' per confrontare i due file oggetto - <HR> <PRE> diff mymyprogram.o myprogram_orig.o </PRE> <HR> <P>Entrambi questi file <B>DEVONO ESSERE IDENTICI</B>. Questo verifica che bcpp sta lavorando perfettamente. In DOS o Windows 95 potete usare il free <A HREF="http://www.cygnus.com">Cygnus</A> Cygwin 'diff' o 'MKS' strumenti. <P><B><I>Se per qualche ragione non avete la possibilità di eseguire un diff tra i file oggetto, allora POTETE usare il file in uscita assemblato come descritto qui sotto.</I></B> <P>Potete usare l'uscita dell'assembler invece del file oggetto di uscita dal compilatore C++ per fare la comparazione. <P>Come - <HR> <PRE> g++ -S myprogram.cpp </PRE> <HR> Questo produrrà myprogram.s. Verificatelo con - <HR> <PRE> diff myprogram.s myprogram_orig.s </PRE> <HR> Questo procedimento garantisce al 100% che il vostro prezioso codice sorgente è intatto e il bcpp sta PROPRIO facendo SOLO la formattazione e NON sta modificando il vostro codice in nessun modo. Questo metodo vi assicura una qualità al 100% e un periodo di vita o un lungo periodo di <B>GARANZIA</B> dei programmi abbellitori come 'bcpp', 'cb' o 'indent'. <P>E' caldamente raccomandato fare questi due passi ogni volta che lanciate un programma abbellitore come <B>bcpp</B>, <B>indent</B> o <B>cb</B>. <HR> <A HREF="C-C++Beautifier-HOWTO-3.html">Avanti</A> <A HREF="C-C++Beautifier-HOWTO-1.html">Indietro</A> <A HREF="C-C++Beautifier-HOWTO.html#toc2">Indice</A> </BODY> </HTML>