PDA

View Full Version : [C] Il miglior ambiente di programmazione ?


frankdan
10-12-2008, 18:35
Salve amici,volevo chiedervi qual è secondo voi il miglior ambiente integrato di programmazione per il linguaggio C.

Io ho sempre usato quello Mingw (scaricabile da qui (http://www.bloodshed.net/)),ma volevo sapere da voi se esiste qualcosa di meglio in giro (magari con features migliori,semmai con una migliore capacità di indentazione,un editor con più funzionalità ecc.).

Suggerimenti ?

variabilepippo
10-12-2008, 18:47
Io ho sempre usato quello di Mingw (scaricabile da qui),ma volevo sapere da voi se esiste qualcosa di meglio in giro


Diciamo che quello è il peggiore sulla piazza... :rolleyes:

Per programmare in C/C++ su sistemi Windows puoi usare: Visual C++ Express 2008, Code::Blocks, Turbo C++, etc.

frankdan
10-12-2008, 19:32
Diciamo che quello è il peggiore sulla piazza... :rolleyes:

Per programmare in C/C++ su sistemi Windows puoi usare: Visual C++ Express 2008, Code::Blocks, Turbo C++, etc.

A me interessa il C,non il C++ (sebbene siano molto simili).E poi come ambiente di programmazione ne vorrei uno gratuito (ovviamente :asd:).Tra quelli che hai elencato,ce n'è qualcuno free ?

variabilepippo
10-12-2008, 19:44
Sono TUTTI gratuiti e TUTTI supportano anche il C perché i compilatori C++ sono in grado di compilare codice C.

frankdan
10-12-2008, 20:54
Sono TUTTI gratuiti e TUTTI supportano anche il C perché i compilatori C++ sono in grado di compilare codice C.
Ah...bene,mi fa piacere saperlo :)

Ma soprattutto ti ringrazio di avermelo detto ;)

Un ultima cosa : i link da cui scaricarli ?

marko.fatto
10-12-2008, 20:56
gugle is de uei..
http://www.microsoft.com/express/vc/
http://www.codeblocks.org/downloads/5

Alex_87_xelA
10-12-2008, 21:52
[C] Il miglior ambiente di programmazione ?

il mio :ciapet: | :Prrr:

frankdan
12-12-2008, 01:09
Ho scaricato ed installato MS Visual C++ Express Edition 2008,solo che,essendo abituato ai soliti compilatori di uso scolastico ed universitario che ho citato prima (come il MinGw),molto semplici e minimalisti,mi sto trovando in difficoltà.

Sareste così gentili da spiegarmi la procedura esatta per scrivere (vabè,quello lo so fare :D ),compilare,eseguire e visualizzare l'output del classico "Hello World" ?

EDIT: accipicchia...c'è una bella e corposa guida in linea,per di più in italiano ! Non me ne ero proprio accorto !!! Corro a leggermela...poi se mi servono altri aiuti torno qui da voi (che siete sempre i migliori ;) )

Ciauzzz

k0nt3
12-12-2008, 19:51
usa codeblocks che è più sempice

Pinocchio
13-12-2008, 20:42
Che ne pensate del Dev-C++??
Secondo me sarebbe un buon compromesso tra funzionalità e leggerezza, se non fosse che di tanto in tanto crasha, e se non si sta attenti ad aggiornare le cose giuste non si è più in grado di compilare i propri progetti :doh:

demos88
13-12-2008, 21:35
Che ne pensate del Dev-C++??
Secondo me sarebbe un buon compromesso tra funzionalità e leggerezza, se non fosse che di tanto in tanto crasha, e se non si sta attenti ad aggiornare le cose giuste non si è più in grado di compilare i propri progetti :doh:
a me il dev dava un casino di problemi e stranamente sputava fuori un eseguibile diverso da quello che compilavo con il borland dando risultati sballati :mbe:
forse l'hanno migliorato... boh

frankdan
14-12-2008, 22:25
devi creare sempre un nuovo progetto, anche per un singolo file .c semplicissimo. nuovo progetto console win32, ci aggiungi il file .c, compile & build...
Sto usando appunto Microsoft Visual C++ 2008 Express e devo dire che mi ci trovo abbastanza bene,anche se il sistema per creare semplici applicazione console Win32 (in pratica ciò che mi hai spiegato) devo dire che mi sembra un po' macchinoso.

Adesso vorrei capire come fare ad aprire semplici programmi in linguaggio C che avevo scritto in passato : Il Visual C++ 2008 adesso l'ho messo come lettore di default per i files .c e .cpp...solo che se apro qualche vecchio programma scritto in C poi non me lo fa compilare,né eseguire : nel menù a tendina "debug" le voci "avvia debug" e "avvia senza eseguire debug" non sono selezionabili...e il menù "compila" non appare proprio !

Tutto ciò non mi succede se sono io a creare un nuovo progetto C,a scriverlo e poi a compilarlo/eseguirlo : mi succede solo con vecchi files .c che in passato avevo creato con il MingW Dev-C++.

Suggerimenti per risolvere il problema ?

wizard1993
15-12-2008, 14:19
per compliare un sorgente in visual c++ questo deve far parte di un progetto

frankdan
15-12-2008, 14:26
per compliare un sorgente in visual c++ questo deve far parte di un progetto
Cavolo...quindi mi tocca ogni volta creare un nuovo progetto,e poi copiarci all'interno,come files sorgenti,i vecchi programmini in C che ho scritto tempo fa...?

Bella rottura...

fero86
15-12-2008, 14:52
usa codeblocks che è più sempice 1) spiega il motivo, non é buona abitudine accettare consigli forniti in questa maniera.
2) Code::Blocks io lo consiglio solo quando si deve usare il MinGW, semplicemente per avere un IDE anche in quelle circostanze, ed il MinGW lo si deve usare solo quando é necessaria la portabilitá; in tutti gli altri casi penso che sia meglio Visual C++ perché é sviluppato da piu tempo e quindi é piu maturo, ed inoltre é inevitabilmente meglio integrato con l'SDK.



Che ne pensate del Dev-C++?? fa schifo sotto ogni punto di vista tranne la leggerezza; ma a quel punto prendi Blocco Note.



forse l'hanno migliorato... boh aspetta e spera... Dev-C++ é un progetto vecchissimo e non piu sviluppato; ormai é semplicemente morto.



devi creare sempre un nuovo progetto, anche per un singolo file .c semplicissimo. nuovo progetto console win32, ci aggiungi il file .c, compile & build... non é necessario: per uno o due sorgenti puoi anche usare il "Visual Studio 2008 Command Prompt".



Cavolo...quindi mi tocca ogni volta creare un nuovo progetto,e poi copiarci all'interno,come files sorgenti,i vecchi programmini in C che ho scritto tempo fa...?

Bella rottura... oppure semplicemente vai nel gruppo di Visual C++ 2008 Express nel menu Start, poi apri "Visual Studio Tools" e apri il il command prompt; il compilatore si chiama "cl.exe", per eseguirlo basta che digiti "cl" seguito dalla lista dei sorgenti e premi Invio; funziona sia col C sia col C++, a differenza del gcc che ha due eseguibili diversi per i due linguaggi (e conseguenti rotture di scatole quando si scrivono i makefiles).

frankdan
15-12-2008, 15:28
oppure semplicemente vai nel gruppo di Visual C++ 2008 Express nel menu Start, poi apri "Visual Studio Tools" e apri il il command prompt; il compilatore si chiama "cl.exe", per eseguirlo basta che digiti "cl" seguito dalla lista dei sorgenti e premi Invio; funziona sia col C sia col C++, a differenza del gcc che ha due eseguibili diversi per i due linguaggi (e conseguenti rotture di scatole quando si scrivono i makefiles).
Se volessi seguire questo tuo consiglio e compilare da riga di comando,i files sorgenti dove dovrei copiarli ? Dovrei prima ricordarmi di metterli nella directory di default di MS Visual Studio ?

Ad esempio il classico "hello world",che quando imparai il C salvai sottoforma di file hello.c,dove devo copiarlo prima di compilarlo ?

cionci
15-12-2008, 16:50
1) spiega il motivo, non é buona abitudine accettare consigli forniti in questa maniera.
2) Code::Blocks io lo consiglio solo quando si deve usare il MinGW, semplicemente per avere un IDE anche in quelle circostanze, ed il MinGW lo si deve usare solo quando é necessaria la portabilitá; in tutti gli altri casi penso che sia meglio Visual C++ perché é sviluppato da piu tempo e quindi é piu maturo, ed inoltre é inevitabilmente meglio integrato con l'SDK.
Non è mica detto. Chiaramente se si lavora sulle API Win32 è sconsigliabile, ma soprattutto per un principiante imho è perfetto. MinGW è molto più aderente allo standard C99 rispetto a Visual C++ e soprattutto non ha estensioni proprietarie.

fero86
15-12-2008, 21:42
Non è mica detto. Chiaramente se si lavora sulle API Win32 è sconsigliabile, ma soprattutto per un principiante imho è perfetto. MinGW è molto più aderente allo standard C99 rispetto a Visual C++ e soprattutto non ha estensioni proprietarie. capisco la maggiore aderenza allo standard (sulla quale poi vorrei qualche esempio pratico, cosi ne approfitto per imparare qualcosa :)), ma che problemi ti danno le estensioni al linguaggio? anche il gcc (e quindi il MinGW) ne ha molte, ad esempio __attribute__

cionci
16-12-2008, 08:14
Prova a mettere questi codici in Visual C++ ed a compilare in modalità C (e non C++):
http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=215

Certo nemmeno gcc (di riflesso anche in MinGW32) è perfettamente aderente allo standard: http://gcc.gnu.org/gcc-4.3/c99status.html
In ogni caso almeno lì sappiamo cosa è supportato e possiamo abilitare la compilazione con il supporto ai vari standard (con opzioni al compilatore), cosa che con Visual C++ assolutamente non è possibile fare, o C++ o C.

frankdan
16-12-2008, 14:02
Se volessi seguire questo tuo consiglio e compilare da riga di comando,i files sorgenti dove dovrei copiarli ? Dovrei prima ricordarmi di metterli nella directory di default di MS Visual Studio ?

Ad esempio il classico "hello world",che quando imparai il C salvai sottoforma di file hello.c,dove devo copiarlo prima di compilarlo ?
Up per questa domanda !

frankdan
16-12-2008, 14:51
dove ti pare, tanto il prompt di visual studio ti permette di navigare fra le directory e richiamare cl in ogni punto...

Mi faresti un esempio della sintassi da usare per compilare da riga di comando ?

Ad esempio,se nella root principale di C:\> ho il programma "prova.c" che voglio compilare ed eseguire,cosa faccio ?

Entro nella riga di comando e quale comando inserisco ?

fero86
16-12-2008, 19:30
Prova a mettere questi codici in Visual C++ ed a compilare in modalità C (e non C++):
http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=215 ma ha senso al giorno d'oggi porsi questa limitazione?

cionci
16-12-2008, 20:05
ma ha senso al giorno d'oggi porsi questa limitazione?
Ehm in che senso ? La limitazione ce l'ha Visual C++ che non supporta lo standard e questo limita gli utenti. Se ti riferisci alla modalità C++, era per farti vedere che il compilatore C comunque non accetta la maggior parte delle innovazione del C99, certo alcune sono presenti in C++, ma non la maggior parte.

fero86
16-12-2008, 22:12
Ehm in che senso ? limitarsi a programmare in C in Visual C++; ha senso? che problema c'é ad usare il compilatore C++ anziché quello dell'ANSI C?

FixFixFix
17-12-2008, 01:56
Avete mai provato il plug-in c/c++ di eclipse ??

è vero si appoggia su MinGW , ma le funzionalità di eclipse e la sua evoluzione multi technology secondo me ne fanno forse il miglior IDE in circolazione

cionci
17-12-2008, 08:01
limitarsi a programmare in C in Visual C++; ha senso? che problema c'é ad usare il compilatore C++ anziché quello dell'ANSI C?
Non è compatibile con il C99, solo poche funzionalità disponibili nel C99 sono disponibili nel compilatore C++.

cionci
17-12-2008, 08:06
Avete mai provato il plug-in c/c++ di eclipse ??

è vero si appoggia su MinGW , ma le funzionalità di eclipse e la sua evoluzione multi technology secondo me ne fanno forse il miglior IDE in circolazione
Se mi andasse bene sarebbe il massimo, purtroppo la versione 3.4.x: scelgo ad esempio di generare un eseguibile in release (settando il progetto attivo), me lo genera. Eseguo il programma ed il progetto mi torna settato su Debug (questo su Ubuntu). Ogni volta che cambio target mi ritorna su Debug e l'unico modo per generare il target attivo è selezionarlo e fare il build completo, perché il build automatico lo fa solo sul Debug, è un bug che rompe davvero le scatole.
Sarebbe bello visto che ha 3 o 4 refactoring che mi tornerebbero molto utili (fra cui Extract Method).

fero86
17-12-2008, 11:19
Non è compatibile con il C99, solo poche funzionalità disponibili nel C99 sono disponibili nel compilatore C++. ma allora quali features del C99 sono del tutto assenti da Visual C++, sia in modalitá C che C++? la pagina che mi hai linkato prima conteneva perlopiu cose banali presenti anche in C++: non mi sembra il caso di rinunciare a Visual C++ solo per la mancanza degli array a lunghezza variabile, dei "designated initializers" e di restrict.

cionci
17-12-2008, 11:34
ma allora quali features del C99 sono del tutto assenti da Visual C++, sia in modalitá C che C++? la pagina che mi hai linkato prima conteneva perlopiu cose banali presenti anche in C++: non mi sembra il caso di rinunciare a Visual C++ solo per la mancanza degli array a lunghezza variabile, dei "designated initializers" e di restrict.
Cerca "new feature of C99" in quesot PDF: http://std.dkuug.dk/JTC1/SC22/WG14/www/C99RationaleV5.10.pdf. Ecco, tutte quelle cose non ci sono in Visual C++, tranne per le cose in comune con il C++.

Il problema non è rinunciare a Visual C++, il problema è: io voglio scrivere in C99, ma semplicemente non posso in Visual C++. Compilare in modalità C++ implica dover modificare in ogni caso il mio modo di programmare in C, anche rispetto al C95. Significa quindi scrivere codice C che spostato su un qualsiasi altro compilatore C non mi compila.