%TOC% ---- ---+++ Alcuni suggerimenti su cosa utilizzare per sviluppare i programmi in C ---++++ Cosa serve Per scrivere e provare gli esercizi di Programmazione 1 avete bisogno: * di un editor di testi per scrivere i programmi. * del compilatore e del collegatore (linker) per compilare e linkare i programmi ed ottenere la versione eseguibile. * di un *debugger* per eseguire i vostri programmi passo-passo esaminando il contenuto delle variabili per capire se il programma fa quello che vi aspettate (ovvero per scoprire perchè NON fa quello che vi aspettate :-) ) ---+++ Editor di testi e/o ambienti di sviluppo * Ambienti integrati di sviluppo e debug. Permettono di programmare e debuggare molto facilmente * *[[http://kdevelop.kde.org][KDevelop]]*: si tratta dell'ottimo IDE di sviluppo per Linux per il desktop [[http://www.kde.org][KDE]] * *emacs*: potete usare l'editor emacs per programmare/compilare/debuggare senza uscire dall'editor * *[[http://sources.redhat.com/sourcenav/][Source Navigator]]*: IDE della RedHat disponibile sia su Linux che per Windows. * *[[http://www.rhide.com/][RHIDE]]*: __sconsigliato__ (usate la versione per compilatore gcc) * *[[http://www.bloodshed.net/devcpp.html][Dev-C---++]]*: un ottimo IDE con gcc e gdb *per windows!* Se non avete un ambiente di sviluppo potere usare: * Editors ambiente Linux: * *emacs*: vi permette di editare/compilare/debuggare i programmi senza uscire dall'editor * *nedit*: è un editor con una interfaccia un po' più facile da usare di emacs * *gvim*: altro editor ottimo e meno complicato di emacs (che invece fa anche il caffè :-) ) è ==vi==, la versione grafica ==gvim== è la più facile da usare. * Editors ambiente Windows * Usate Wordpad oppure un editor di testi (NON USATE WORD!) * è facile trovare in rete degli editor specializzati all'editing di programmi ---+++ Il compilatore/linker * Consiglio il compilatore *gcc* (Gnu Compiler) perchè è gratuito, è un ottimo compilatore e perchè sarà il compilatore usato per testare se i vostri esercizi sono corretti. * gcc contiene anche il linker * NON USATE il Visual C---++ della Microsoft. Questo per evitare problemi di portabilità e per non istigarvi alla copia indiscriminata ;-) . ---+++ Come compilare il vostro programma da riga di comando * aprite una finestra terminale (per es. usando il comando ==xterm==) * editate e salvate il vostro programma (ad es. col nome ==prova.c==) * se il programma usa solo le librerie standard ed e' composto di un solo file: * per compilare con le informazioni per il debugger * ==gcc -g -o prova prova.c== * per compilare controllando che sia ANSI C compatibile * ==gcc -pedantic -o prova prova.c== * per compilare per la massima velocita' e senza le asserzioni * ==gcc -O3 -DNDEBUG -o prova prova.c== * In entrambi i casi precedenti il compilatore si occupa sia di compilare che di linkare il modulo oggetto con le librerie * se il programma e' composto da diversi moduli sorgente (per es. ==prova1.c== e ==prova2.c==) * compilate ciascun modulo con l-opzione *-c* e generando il file *.o* * ==gcc -c -g -o prova1.o prova1.c== * ==gcc -c -g -o prova2.o prova2.c== * linkate i moduli * ==gcc -g -o prova prova1.o prova2.o== * l'esempio si riferisce alla compilazione e link del programma con le informazioni per il deugger * se usate le funzioni i cui prototipi sono in ==math.h== * aggiungete *come ultima opzione* l'opzione ==-lm== * ==gcc -o prova prova.c -lm== ---+++ Il debugger (se non usate un IDE) * consiglio il debugger *gdb* (Gnu Debugger) che è disponibile sia in versione testuale (*gdb*) che con interfaccia a finestre (*xgdb* per ambiente X-windows, *kgdb* per il desktop [[http://www.kde.org][KDE]] per Linux) * un altro ottimo debugger grafico per ambiente Linux è il *ddd*, che si permette di esaminare con molta facilità le strutture dei dati in memoria. ---+++ Quale Linux installare? Se volete usare *gcc* in ambiente Unix potete installare una qualsiasi distribuzione di Linux: * [[http://www.mandrake.com][Mandrake]]: facile da installare, basata su RedHat * [[http://www.redhat.com][RedHat]]: molto diffusa nel mondo. * [[http://www.suse.com][Suse]]: molto diffusa in Europa * [[http://www.debian.org][Debian]]: realizzata di un folto gruppo di volontari, un po' più difficile da installare, è in edicola in questo momento allegata ad una rivista. * [[http://www.ubuntulinux.org][Ubuntu]]: Una distribuzione che si basa su distro DEBIAN, ma molto semplice da installare, riconosce la maggior parte delle periferiche. Ottima anche la community in Italiano. ---+++ Preferisco evitare di scassare il mio PC! Se invece siete completamente digiuni di Linux oppure non volete perdere tempo e rischiare di saltare qualche esercitazione vi consiglio di installare: * [[http://www.cygwin.com][Cygwin]] in Windows. si tratta di una serie di programmi che permettono di programmare in Windows come se si fosse in Unix. Comprende anche il compilatore *gcc*. * [[http://www.demolinux.org][DemoLinux]] o [[http://www.knoppix.org][Knoppix]] o [[http://www.it.linux.org][KnopILS]]: vi permette di usare Linux *SENZA installare nulla, direttamente da CD*. * [[http://www.mingw.org][MinGW]], ossia uno GNU per Windows (tutte le versioni) che include gdb, gcc e relative librerie. Si usa da prompt di comando e la sintassi è la stessa del gcc di Linux (vedi sopra...). __ATTENZIONE:__ la compatibilità con il *gcc* in ambiente *Cygwin* dovrebbe essere perfetta, ma ricordate che *fa fede l'esecuzione in ambiente Linux* ---+++ Ho uno straccio di modem!!! Se non potete scaricarvi una delle distribuzioni suelencate (si tratta normalmente di 3 CD per Linux e di 1 per Cygwin e Demolinux) mettetevi daccordo con un compagno che ha l'adsl -- Users.AndreaSterbini - 14 Oct 2003
This topic: Programmazione1/AA0506/PZ
>
WebHome
>
SuggerimentiSullambienteDiSviluppo
Topic revision: r15 - 2004-11-20 - MatteoLaBella
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback