PDA

View Full Version : Linux e il C


Gandalf_BD
09-10-2004, 16:59
Ciao a tutti...
mi dareste una mano a programmare in C anche su Linux?
mi consigliate un buon compilatore e mi dite i comandi utili per compilare, debuggare, mettere breakpoints, etc etc...?
grazie
bye bye

Gandalf

wubby
09-10-2004, 17:12
gcc

man gcc

e tutto quello che google puo' offrire sull'argomento! ;D

fedruw
09-10-2004, 17:17
Hi. Ci sono già compilatori C all'interno delle distro + diffuse e sn molto conosciute dal mondo del web, alcune sn kiamate Borland C++ 6.0 (versione linux; forse esiste la 3.0 gratis) - Gnu c++, Devcmp and so on... Comandi, breakpoints e debug sono spiegati in molte guide e tutorial, disponibili sul web con una ricerca sul motore di ricerca (google, yahoo, etc.) :)

Red_Star
09-10-2004, 18:12
gcc usando google trovi di tutto e di più

l.golinelli
09-10-2004, 19:02
http://hpe.pearsoned.it/site/show.php?curr_sec=catalogo&sub_sec=cat_sk_libro&ISBN=887192200x

NA01
09-10-2004, 20:06
ti coniglio advanced linux programming

ciao

ilsensine
10-10-2004, 11:37
Spostato in Programmazione

sirus
11-10-2004, 20:28
prova le versione del borland C builder x la puoi scaricare gratuitamente dal sito della borland ;)

cionci
12-10-2004, 15:57
Perchè usare un altro compialtore quando il compiltore standard sotto Linux è il gcc ?!?!?

Quindi vai di gcc e lscia perdere gli altri compilatori, almeno sotto Linux...

Matx
12-10-2004, 21:42
Se usi kde c'è kdevelop che ha un sacco di funzioni e compila sempre con il gcc ;)

xool
28-10-2004, 20:37
Scusate se vi faccio questa domanda da niubbo ma è da due giorni che bazzico in Linux.

Io non riesco a trovare il gcc sulla mia Mandrake, sono sicuro di averlo installato perchè l'ho selezionato io e infatti se vado nella finestra per installare altri pacchetti non me lo da. Se vado da konsole e digito gcc l'icona cambia come a dire che me lo ha trovato, ma niente, non parte. Come faccio a trovarlo? C'è KDevelop 3.0 ma di gcc nessuna traccia.

P.S. Io uso l'interfaccia grafica KDE

Ziosilvio
29-10-2004, 09:20
Originariamente inviato da xool
Io non riesco a trovare il gcc sulla mia Mandrake
Per accertarti che ci sia, digita in una konsole:
which gcc
e premi Invio. Ti dira' se c'e' e dove sta.
Se vado da konsole e digito gcc l'icona cambia come a dire che me lo ha trovato, ma niente, non parte.
A gcc devi passare il nome del file C che vuoi compilare; credo che altrimenti non faccia nulla.

xool
29-10-2004, 17:33
Il programma c'è e sta in /usr/bin/gcc
Quindi non ho a disposizione un'ambiente di programmazione tipo quello del Borland o del Visual Studio?

cionci
29-10-2004, 17:55
C'è anche quello volendo... Come ti hanno consigliato sopra: kdevelop...ma ce ne sono anche altri volendo...

VICIUS
29-10-2004, 18:16
Originariamente inviato da xool
Il programma c'è e sta in /usr/bin/gcc
Quindi non ho a disposizione un'ambiente di programmazione tipo quello del Borland o del Visual Studio?
Usa kdevelop 3. Imbattibile.

ciao ;)

ghiotto86
29-10-2004, 18:38
Originariamente inviato da cionci
Perchè usare un altro compialtore quando il compiltore standard sotto Linux è il gcc ?!?!?

Quindi vai di gcc e lscia perdere gli altri compilatori, almeno sotto Linux...

infatti.
linux è fatto per la maggior parte in c, quindi...

DanieleC88
29-10-2004, 19:31
Originariamente inviato da VICIUS
Usa kdevelop 3. Imbattibile.

ciao ;)

Be', KDE e' comodissimo, le librerie QT sono altrettanto comode, etc... ma io credo sia meglio usare quello Anjuta e GTK+, una soluzione piu' "libera".
...anche se, a pensarci bene, alla fine e' solo questione di gusti.

VICIUS
29-10-2004, 20:41
Originariamente inviato da DanieleC88
Be', KDE e' comodissimo, le librerie QT sono altrettanto comode, etc... ma io credo sia meglio usare quello Anjuta e GTK+, una soluzione piu' "libera".
...anche se, a pensarci bene, alla fine e' solo questione di gusti.
Cosa intendi per piu libera sono entrambi due soluzioni completamente opensource sotto GPL.

ciao ;)

NA01
29-10-2004, 20:56
se ho capito bene parla delle qt. la versione completa e aggiornata non è free.
cia!

VICIUS
29-10-2004, 22:17
Originariamente inviato da NA01
se ho capito bene parla delle qt. la versione completa e aggiornata non è free.
cia!
L'unica occasione in cui si deve pagare per sviluppare con le Qt è quando si scrivono delle applicazioni closed-source oppure applicazioni commerciali, ma in questo caso è solo lo sviluppatore paga e non l'utente finale. Su linux/mac/unix i sorgenti sono distribuiti sotto gpl.

ciao ;)

cionci
30-10-2004, 06:10
Ma su Windows se non sbaglio non sono GPL ;)

xool
30-10-2004, 09:21
Ok, allora userò kdevelop, però ho un'altra cosa da chiedervi: io lo devo usare per l'università, quindi ci devo fare delle piccole porzioni di codice che implementano algoritmi particolari, perciò non mi serve per chissà che progetti ma solo per programmi di poche linee. Una volta aperto kdevelop se faccio Crea nuovo progetto mi escono parecchie cose, tra le quali c'è quella che mi interessa (cioè il C) ma se espando il menù a tendina mi escono delle soluzioni che ahimè :( da ignorante di programmazione non conosco. Io voglio ottenere la semplice pagina bianca di programmazione dove cominciare a scrivere del codice e basta (qualche assegnazione, qualche ciclo for..do-while ecc...), che devo fà?

VICIUS
30-10-2004, 10:03
Originariamente inviato da cionci
Ma su Windows se non sbaglio non sono GPL ;)
A dire il vero c'è la versione per programmi non commerciali ma è molto vecchia (2.3.0) e visto che c'è in giro la 3.3 da molto e la 4.0 sta per uscire è come se non ci fosse. :( Se proprio si vuole una versione piu recente si puo sempre comprare il libro "C++ GUI Programming with Qt 3" sul cd c'è l'ultima versione in regalo.

ciao ;)

VICIUS
30-10-2004, 10:09
Originariamente inviato da xool
Ok, allora userò kdevelop, però ho un'altra cosa da chiedervi: io lo devo usare per l'università, quindi ci devo fare delle piccole porzioni di codice che implementano algoritmi particolari, perciò non mi serve per chissà che progetti ma solo per programmi di poche linee. Una volta aperto kdevelop se faccio Crea nuovo progetto mi escono parecchie cose, tra le quali c'è quella che mi interessa (cioè il C) ma se espando il menù a tendina mi escono delle soluzioni che ahimè :( da ignorante di programmazione non conosco. Io voglio ottenere la semplice pagina bianca di programmazione dove cominciare a scrivere del codice e basta (qualche assegnazione, qualche ciclo for..do-while ecc...), che devo fà?

Mi pare di aver capito che vuoi gestire da solo i Makefile visto che hai progeti molto semplici giusto ? Per creare un progetto completamente custom devi:
1- creare una cartella con dentro almeno un file sorgente e un Makefile. anche un semplice touch Makefile touch main.c basta allo scopo.

2- apri kdevelop e clicchi su Progetti -> Importa progetto esistente.
li selezioni la cartella con i file e come tipo di progetto selezioni Progetto generico (makefile custom).

dopo di che ti chiede se vuoi importare tutti i file nella directory. rispondi di si ed il gioco è fatto.

ciao ;)

xool
30-10-2004, 11:33
Ciao grazie delle dritte, ma scusami se ti faccio questa domanda: cos'è un makefile? E come si crea?

Sono niubbone in questo campo quindi non mi bestemmiare :p

VICIUS
30-10-2004, 14:52
Originariamente inviato da xool
Ciao grazie delle dritte, ma scusami se ti faccio questa domanda: cos'è un makefile? E come si crea?

Sono niubbone in questo campo quindi non mi bestemmiare :p
Quando dai il comando make in una directory che contiene dei sorgenti questo va a cercare un file che si chiama "Makefile" (con la 'm' maiuscola) che contiene tutti vari target e le operazioni per compilare il programma. In questo modo non devi dare ogni volta gcc con le varie opzioni e linkare i vari .o tra di loro. Puoi fare tutto anche senza un makefile pero ti assicuro che se impari a crearne uno diventa tutto molto piu comodo.
un piccolo esempio che compila un programma composto da un solo file. dando il comando make i sorgenti vengono compilati. mentre dando make clean cancella alcuni file temporanei e il programma compialto.
all: programmino

clean:
rm -f programmino.o *~ programino

programmino: programmino.c programmino.h
gcc programmino.c -c -o programmino

ciao ;)

xool
30-10-2004, 16:06
Ok, ma perchè ogni qualvolta chiedo qualcosa di Linux sapete essere sempre così complicati? :muro:

Io non ho ancora capito che devo fare, immagina di trovarti davanti ad uno che Linux l'ha visto da appena due giorni e che malapena sa la differenza fra console ed esegui comando.

Tu mi dici: "Quando dai il comando make in una directory che contiene dei sorgenti questo va a cercare un file che si chiama "Makefile" (con la 'm' maiuscola) che contiene tutti vari target e le operazioni per compilare il programma."

Bene che devo fare? Devo andare da console o da esegui comando bhoooo a dare questo comando? Poi mi dici di mandare questo comando in una directory che contiene dei sorgenti, quali? Quelli che ho creato io facendo i programmini in C? Cioè magari del codice scritto in un editor di testo e poi salvato come nome_prog.c?

VICIUS
30-10-2004, 18:16
Originariamente inviato da xool
Ok, ma perchè ogni qualvolta chiedo qualcosa di Linux sapete essere sempre così complicati? :muro:
non hai ancora visto cosa si puo fare in perl. :p
Originariamente inviato da xool
Io non ho ancora capito che devo fare, immagina di trovarti davanti ad uno che Linux l'ha visto da appena due giorni e che malapena sa la differenza fra console ed esegui comando.

Tu mi dici: "Quando dai il comando make in una directory che contiene dei sorgenti questo va a cercare un file che si chiama "Makefile" (con la 'm' maiuscola) che contiene tutti vari target e le operazioni per compilare il programma. [...]"
Allora. Fino ad ora per scrivere/provare i tuoi programmi dovresti aver fatto piu o meno in questo modo. Di solito apri il tuo editor di testi preferito, ad esempio kwrite, scrivi il codice #include <std...... bla bla bla e una volta finito salvi il file con un nome tipo esercizio1.c in una cartella giusto ? Una volta scritto il codice apri una shell (il programma konsole) entri nella cartella in cui hai salvato l'esercizio e usi gcc per compilare il programma. Ora se sei stato bravo hai un eseguibile altrimenti una bella lista di errori da trovare e corregere. torni nel editor coreggi gli errori e poi ritorni in konsole e rilanci gcc con tutti i suoi vari parametri.

Finche il programma è composto da un solo file e la riga di comando di gcc non è tanto lunga puo anche andare bene fare tuto a mano ma se le opzioni da passare a gcc incominciano a superare la riga e i file incominciano ad essere 3 o 4 allora usare un Makefile ti salva la vita :).

per crearlo basta anche kwrite crei un nuovo file vuoto e lo salvi col nome 'Makefile'. Cosa metterci dentro e come funzionano lo imparerai strada facendo. online ci sono delle guide sul'argomento opure puoi chiedere anche qui.

ciao ;)

xool
30-10-2004, 19:57
Ok , ho creato il file Makefile in una directory e in questa directory ci ho messo anche un file sorgente, cioè un piccolo programmino che ho salvato come Prog_stampa.c

Mo come devo procedere per compilarlo e ottenere l'eseguibile?

RaouL_BennetH
31-10-2004, 00:52
Originariamente inviato da xool
Ok , ho creato il file Makefile in una directory e in questa directory ci ho messo anche un file sorgente, cioè un piccolo programmino che ho salvato come Prog_stampa.c

Mo come devo procedere per compilarlo e ottenere l'eseguibile?

Se hai quell'unico file sorgente in quella dir, basta che digiti:

gcc Prog_stampa.c -o nome_che_vuoi


il "-o" è l'opzione che dai a gcc per dare il nome all'eseguibile del tuo file sorgente.

DanieleC88
31-10-2004, 13:05
Per tornare a QT, si, intendevo proprio che non sono completamente GNU. Sono diventate free solo dopo l'enorme pressione degli utenti KDE e GNU in generale, che avevano avviato anche il progetto Harmony, destinato a sostituire con software libero le librerie QT, al tempo ancora del tutto software propietario.
Direi che possiamo anche chiudere con questo OT, il mio era solo un commento. Bye!