Forum Informatica Unict

LAUREA TRIENNALE (D.M. 270/04) => Sistemi Operativi, 9 CFU => Topic started by: Gam on 08-04-2010, 16:51:36



Title: Compilatore C
Post by: Gam on 08-04-2010, 16:51:36
Salve,
su Internet ho visto che esistono moltissimi compilatori per il linguaggio C, secondo voi qual'è il migliore? ne conoscete qualcuno in particolare?

Grazie


Title: Re:Compilatore C
Post by: LtWorf on 08-04-2010, 16:53:33
gcc è IL compilatore

Se sei in vena di esperimenti puoi provare llvm.

Ti sconsiglio vivamente di usare quello della SUN, e sconsiglio un po' meno il compilatore intel (icc).


Title: Re:Compilatore C
Post by: havoc on 08-04-2010, 17:39:35
Se mi dici qual è la metrica su cui definire "migliore" posso orientarmi per una risposta.


Title: Re:Compilatore C
Post by: LtWorf on 08-04-2010, 17:40:57
Se mi dici qual è la metrica su cui definire "migliore" posso orientarmi per una risposta.

Io direi uno che non causa segmentation fault più del dovuto :-D


Title: Re:Compilatore C
Post by: Aigor on 08-04-2010, 21:33:00

Io lavoro con NetBeans IDE 6.8 per C e C++, mi trovo benissimo!
Oltretutto questa versione su Mac è molto più leggera di Eclipse.
Se invece cerchi solo il compilatore il gcc va più che bene !
 


Title: Re:Compilatore C
Post by: LtWorf on 08-04-2010, 21:47:31
Scusa la domanda, ma che c'entra netbeans con i compilatori?


Title: Re:Compilatore C
Post by: Aigor on 08-04-2010, 22:06:25
Assolutamente nulla, infatti, ho detto che se cerca SOLO un compilatore che scelga pure gcc !
Ho pensato che magari gli era utile anche un ambiente di sviluppo e gli ho consigliato netbeans.


Title: Re:Compilatore C
Post by: havoc on 09-04-2010, 09:16:47
Se mi dici qual è la metrica su cui definire "migliore" posso orientarmi per una risposta.

Io direi uno che non causa segmentation fault più del dovuto :-D

Non ce l'avevo con te, ma con chi ha richiesto il compilatore...
Oltretutto un compilatore che causa segmentation fault (su un codice corretto) non dovrebbe nemmeno essere annoverato come funzionante, quindi scartato a priori.


Title: Re:Compilatore C
Post by: Mario Di Raimondo on 09-04-2010, 10:16:04
In generale per studiare il linguaggio C si può utilizzare qualunque compilatore su qualunque piattaforma.

Per gli studenti di S.O. invece è strettamente necessario lavorare su un sistema UNIX-like (quantomeno compatibile POSIX) quali: Linux, Mac OSX, Solaris, BSD,....
Chi non utilizza già almeno uno di questi sistemi è invitato a organizzarsi in tal senso: laboratori del DMI, distribuzioni GNU/Linux, CD-live, macchine virtuali,...

Su tutti questi sistemi IL COMPILATORE per eccellenza è gcc ("the GNU Compiler Collection").  .wink

Buon lavoro!


Title: Re:Compilatore C
Post by: LtWorf on 09-04-2010, 10:35:41
Meglio evitare solaris però!
Per "abilitare" la compatibilità posix ci sono varie opzioni da aggiungere al compilatore, altrimenti di default utilizza chiamate non posix.
E poi personalmente ho avuto problemi a causa di un loro header sbagliato.


Title: Re:Compilatore C
Post by: Blonic on 29-10-2010, 20:28:55
Scusate la domanda ignorante, ma cosa si intende con "macchina posix compatibile"?
Se io sul mio volgarissimo portatile Acer installo Ubuntu posso prepararmi per l'esame? (mentre uso ubuntu s'intende)


Title: Re:Compilatore C
Post by: Fr3d3R!K on 30-10-2010, 10:36:15
Toh! http://en.wikipedia.org/wiki/POSIX  .wink


Title: Re:Compilatore C
Post by: ɹǝǝuıƃuǝsɹǝʌǝɹ on 30-10-2010, 13:54:11
Scusate la domanda ignorante, ma cosa si intende con "macchina posix compatibile"?
Se io sul mio volgarissimo portatile Acer installo Ubuntu posso prepararmi per l'esame? (mentre uso ubuntu s'intende)
Sì, certamente.

Non è stato detto "macchina" ma "sistema". POSIX è un insieme di interfacce software (API) e standard di comunicazione, nato come sorta di primo tentativo di "uniformare" i sistemi operativi. .sisi


Title: Re:Compilatore C
Post by: Blonic on 30-10-2010, 18:05:53
Quindi posso lavorare in C anche senza installare Ubuntu?
(Tuttavia mi servirà per studiare i comandi Unix, no?)


Title: Re:Compilatore C
Post by: ɹǝǝuıƃuǝsɹǝʌǝɹ on 30-10-2010, 18:08:53

(e sì, ma non tanto per i "comandi", quanto per le "chiamate di sistema", in inglese dette "sys(tem)call").

Esistono compilatori C anche per Windows, ovviamente.


Title: Re:Compilatore C
Post by: Blonic on 30-10-2010, 18:10:00
Ok grazie


Title: Re:Compilatore C
Post by: Blonic on 03-11-2010, 21:11:00
Come si procura e come si configura il compilatore?


Title: Re:Compilatore C
Post by: ɹǝǝuıƃuǝsɹǝʌǝɹ on 03-11-2010, 23:58:55
Stai Zitto!


Title: Re:Compilatore C
Post by: ɹǝǝuıƃuǝsɹǝʌǝɹ on 04-11-2010, 00:06:30
Scusa non avevo resistito  :boh...

Comunque, hai pensato di provare a usare Linux?
Dopo il normale disadattamento dovuto al cambio radicale di sistema (da Windows a Linux), cose come queste sembreranno ovvie (e lo sono!).

Se sei su Windows, vedi quale compilatore ti consiglia il prof. in ogni caso.

Io ti posso suggerire di cominciare con DevCpp. Lo trovi in questa pagina (http://www.bloodshed.net/devcpp.html), disponibile la versione 4 stabile (la 5 è beta, non è il caso di cominciare con le versioni beta :nono) scaricabile tramite i due link in fondo alla pagina:
  • Download from Sourceforge.net (http://ftp1.sourceforge.net/dev-cpp/devcpp4.zip)
  • Download from Simtel.net (http://www.simtel.net/pub/dl/17456.shtml)

Per iniziare, evita Visual Studio. Lì devi prima imparare a usare l'IDE (cosa non sbagliata, ma non legata al tuo scopo) per poter compilare.


Title: Re:Compilatore C
Post by: Blonic on 04-11-2010, 00:07:50
Non hai detto la cosa più ovvia che devo ipotizzare sia sottointesa: Su linux il gcc è già integrato?


Title: Re:Compilatore C
Post by: ɹǝǝuıƃuǝsɹǝʌǝɹ on 04-11-2010, 00:13:12
Yess |-O! A meno che non fai una installazione strambissima super-personalizzata in cui scegli deliberatamente di escluderlo, è normalmente incluso.

Dopo che l'avrai installato, apri un "Terminale" (chiamata anche Shell o Konsole, a seconda di quale interfaccia grafica usi), che a sua volta apre una finestrella con dentro un programma a caratteri (normalmente è bash), e lì scrivendo
gcc
e premendo INVIO ti apri finalmente al mondo della compilazione C |-O!
La guida (normalmente in inglese) su gcc, la trovi sempre dentro il Terminale, digitando il comando
man gcc
e premendo INVIO.
man non è intuitivo da usare. Ad esempio la ricerca nel testo mostrato la fai tramite digitazione di "/" (per capire come funziona, suggerisco di imparare prima a usare il comando less).

Come vedi, il primo impatto con Linux non è esattamente immediato, una volta abituato a usare Windows.


Title: Re:Compilatore C
Post by: Blonic on 07-11-2010, 12:57:54
Ok, ho scritto il mio primo programma, un banalissimo file "hello.c" contenente
Code:
#include <stdio.h>

main()
{
printf("Hello world");
return 0;
}
Come faccio a farlo eseguire?


Title: Re:Compilatore C
Post by: ɹǝǝuıƃuǝsɹǝʌǝɹ on 07-11-2010, 13:06:06
La cosa più esatta da fare sarebbe questa:

Aprire un terminale, spostarti nella cartella in cui hai salvato il file tramite cd e digitare:
Code:
gcc -o eseguibile hello.c
in cui eseguibile è quello che vuoi (sarà il nome del file binario direttamente eseguibile dopo la compilazione .arrossisco): puoi lasciare proprio eseguibile oppure banalmente hello come parametro dopo "-o".

Io, oramai, preferisco invece fare, dopo essermi spostato nella cartella con il sorgente:
Code:
make hello
e fa tutto lui :boh (creandomi il file hello, senza estensione, già eseguibile |-O)


Title: Re:Compilatore C
Post by: Blonic on 07-11-2010, 13:07:24
grz mille